2017-05-17 128 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