在我的makefile中,我有一个变量“NDK_PROJECT_PATH”,我的问题是我如何在编译时将它打印出来?
我读了使文件回显“$PATH”字符串,我尝试了:
@echo $(NDK_PROJECT_PATH)
@echo $(value NDK_PROJECT_PATH)
两者都给了我
"build-local.mk:102: *** missing separator. Stop."
有人知道为什么对我没用吗?
在我的makefile中,我有一个变量“NDK_PROJECT_PATH”,我的问题是我如何在编译时将它打印出来?
我读了使文件回显“$PATH”字符串,我尝试了:
@echo $(NDK_PROJECT_PATH)
@echo $(value NDK_PROJECT_PATH)
两者都给了我
"build-local.mk:102: *** missing separator. Stop."
有人知道为什么对我没用吗?
当前回答
下面的命令在Windows上为我做了这件事:
Path | tr ; "\n"
其他回答
如果我想查看变量值,我通常会返回一个错误。(除非你想看看价值。它将停止执行。)
@echo $(NDK_PROJECT_PATH = $(NDK_PROJECT_PATH))
如果你不想修改Makefile本身,你可以使用——eval来添加一个新目标,然后执行这个新目标。
使- - - eval = ' print-tests: @echo TESTS $(TESTS) “print-tests
您可以使用CTRL-V, TAB在命令行中插入所需的制表符
上面的Makefile示例:
all: do-something
TESTS=
TESTS+='a'
TESTS+='b'
TESTS+='c'
do-something:
@echo "doing something"
@echo "running tests $(TESTS)"
@exit 1
@echo $(NDK_PROJECT_PATH)是一个很好的方法。 我不认为错误来自这里。 通常,当您键入错误的意图时,会出现此错误:我认为您在应该有制表符的地方有空格。
运行make -n;它告诉你变量的值。
Makefile……
all:
@echo $(NDK_PROJECT_PATH)
命令:
export NDK_PROJECT_PATH=/opt/ndk/project
make -n
输出:
echo /opt/ndk/project
下面的命令在Windows上为我做了这件事:
Path | tr ; "\n"