使用Makefile中的必备条件列表中的目标目录路径
问题描述:
我编写了一个脚本,它接收以.cfg结尾的两个文件并输出以.cmp结尾的文件。我想将它包含在我的Makefile中,因为几个源代码文件依赖于这个.cmp文件。使用Makefile中的必备条件列表中的目标目录路径
在我的Makefile中,我想这样做:
%.cmp: %.cfg $(dir %)/default.cfg
./compare.pl $^ [email protected]
有两个依赖产生.cmp文件。首先是一个具有相同名称的.cfg文件,其次是一个.cfg文件,它是总是命名为default。 .cfg文件和输出.cmp文件将位于同一目录中。
是否有办法抓取目标的目录路径并将其与prereqs一起使用?
答
我猜Secondary Expansion可能是你在找什么:
.SECONDEXPANSION:
%.cmp: %.cfg $$(dir %)default.cfg
./compare.pl $^ [email protected]
还要注意$$(dir %)
后没有斜杠,dir
功能始终添加一个到所得到的值。
忘记二次展开,谢谢! – Ryan 2012-02-28 19:59:02
@瑞恩,不客气! – 2012-02-28 20:32:37