我想要一组生成文件规则,在构建项目之前创建指向几个代码模块之一的符号链接(symbolic link)。 make 目标的名称将确定符号链接(symbolic link)指向的文件。例如:
我如何设置规则来做到这一点?
最佳答案
也许是这样的:
MODULES := $(patsubst data_%.asm,%,$(wildcard data_*.asm))
all:
...
data.asm:
[ -n "$(filter $(MAKECMDGOALS),$(MODULES))" ] || { echo unknown module: $(MAKECMDGOALS) ; exit 1; }
ln -s $(filter $(MAKECMDGOALS),$(MODULES)) $@
然后确保
data.asm
在相应的规则中被列为先决条件。
关于带有通配符的 Makefile 目标以使用目标字符串创建符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21064718/