如果我像这样运行make
:
make VAR=dir
有没有办法将 VAR 变量指向的位置添加为目标依赖项?实际上,我需要在该目录中定义一个文件作为依赖项。
我会选择:
target: $(VAR)/file.txt
echo yes
但如果 undefined variable ,目标将理解 /file.txt
,这不是我想要的。我还考虑过使用 test
创建一个虚假目标来检查变量,但是每次都会执行虚假目标,因此 target
也会执行。
有什么解决办法吗?
最佳答案
您还没有说明如果 undefined variable 您想要什么行为,但这可能就是您想要的:
ifdef VAR
target: $(VAR)/file.txt
endif
target:
echo yes
@echo and here are the dependencies: $^
关于Makefile 目标依赖于环境变量中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3374426/