2017-05-17 126 views
0

我做一個Makefile,但我不能返回$ var值的條件語句使用它:

#!/bin/sh 

GO=$(shell) go 
GOPATH=$(GO) env GOPATH 

make: 
    @$(GOPATH) 
    @if [ ! -d "$(GOPATH)/bin" ]; then mkdir -p "$(GOPATH)/bin" ; fi 

當我鍵入make@$GOPATH回報/home/icvallejo/go但經過,我不知道如何使用它(我不能這樣做)與'如果'條件,make返回此:

如果[! -d「go env GOPATH/bin」];那麼mkdir -p「go env GOPATH/bin」; fi

你能幫助我嗎?

+0

什麼是'go'並且是'GOPATH'? – igagis

+0

我想執行$ go env GOPATH來使用GOPATH(golang)並將它保存在$ GOPATH中。實際上,它可以與'gmake'一起使用,但不能與'make'一起使用。 – icarbajo

回答

0
#!/bin/sh 

GO := go 
GOPATH := $(shell $(GO) env GOPATH) 

make: 
    @echo $(GOPATH) 
    @if [ ! -d "$(GOPATH)/bin" ]; then mkdir -p "$(GOPATH)/bin" ; fi 
+1

它只適用於GNU make'gmake' – icarbajo