我正在尝试构建一个make文件来从快照遥测加载插件...当我使用命令sudo make build
时,它显示了Makefile:21: *** recipe commences before first target. Stop.
这个错误...在make文件中,我添加了
export GOROOT=/usr/local/go
export GOPATH=/home/intel/Downloads/snap-tele/gopath
export PATH=$PATH:/usr/local/go/bin:/home/intel/Downloads/snap-tele/gopath/src/github.com/Masterminds/glide
echo $PATH
当我执行
cat -e -t -v Makefile
命令时,我的 makefile 文件如下所示,其中 ^I 表示制表符,$ 表示行尾符:^Iexport GOROOT=/usr/local/go$
^Iexport GOPATH=/home/intel/Downloads/snap-tele/gopath$
^Iexport PATH=$PATH:/usr/local/go/bin:/home/intel/Downloads/snap-tele/gopath/src/github.com/Masterminds/glide$
^Iecho $PATH$
$
default:$
^I$(MAKE) deps$
^I$(MAKE) all$
deps:$
^Ibash -c "./scripts/deps.sh"$
test:$
^Ibash -c "./scripts/test.sh $(TEST_TYPE)"$
test-legacy:$
^Ibash -c "./scripts/test.sh legacy"$
test-small:$
^Ibash -c "./scripts/test.sh small"$
test-medium:$
^Ibash -c "./scripts/test.sh medium"$
test-large:$
^Ibash -c "./scripts/test.sh large"$
test-all:$
^I$(MAKE) test-small$
^I$(MAKE) test-medium$
^I$(MAKE) test-large$
check:$
^I$(MAKE) test$
all:$
^Ibash -c "./scripts/build.sh"$
$
可能出现的问题在哪里?据我所知,我已经给出了正确的制表位。
export
是一个make指令,它将导出的变量提供给所有子进程,特别是子make。OP显然将其与shell的export
混淆了,但它很可能适合预期的目的。 - Mike Kinghanexport
指令还允许shell访问变量。因此,执行export XX:=yy
后,再执行all:; echo $$XX
将输出yy
。 - HardcoreHenrymake --version
)? - HardcoreHenry