我有一个 Makefile 目标,我必须在其中检查环境变量的值。但是,我没有得到它的确切语法。努力了,还是没找到。任何帮助表示赞赏。
环境变量名称:TEST,其值:“TRUE”
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
/bin/sh: -c: line 0: syntax error near unexpected token `"TRUE","TRUE"'
/bin/sh: -c: line 0: `ifeq ("TRUE","TRUE")'
Run Code Online (Sandbox Code Playgroud)
gwi*_*lie 36
该ifeq()指令必须在第 1 列中,删除任何前导空格,即
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
Run Code Online (Sandbox Code Playgroud)
^ 没有空格
yae*_*shi 21
不能放在ifeqTAB 之后。允许有空格。阅读GNU Make 文档。
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
Run Code Online (Sandbox Code Playgroud)
另请注意,它$(TEST)与"TRUE"原样比较:
$ make TEST=TRUE
make: Nothing to be done for 'test_target'.
$ make TEST='"TRUE"'
echo "Do something"
Do something
Run Code Online (Sandbox Code Playgroud)