Makefile не устанавливает переменную среды GOOS - PullRequest
0 голосов
/ 22 мая 2019

Я пишу ниже Makefile для сборки кода Golang для разных платформ. (Моя ОС - Windows 10 и запускает Makefile через командную строку)

GOCMD   =  go
GOBUILD =  $(GOCMD)  build
GOFILES =   $(wildcard *.go)
SONG_PATH =  ./song-service
SONG_PATH_OUTPOUT =  ./song-service/cmd
SONG_BINARY_NAME_LIN =  songservice_lin

song-build-lin:
    set GOOS=linux
    set GOARCH=amd64
    $(GOBUILD)  -o "$(SONG_PATH_OUTPOUT)/$(SONG_BINARY_NAME_LIN)" -v "$(SONG_PATH)/$(GOFILES)"

Когда я запускаю make song-build-lin, он работает без ошибок, но переменная GOOS не устанавливается. Но когда я запускаю set GOOS=linux в командной строке напрямую, это работает!

...