在这里,make
我想让整体中的所有目标都Makefile
依赖于特定文件。(Makefile
事实上,那个特定文件就是,因为我的所有公式都在那里。但这不是重点。)
在这里我们看到我像个傻瓜一样费力地将它添加到每个目标中,
$ grep Y Makefile
Y = Makefile
h32540000_zong.csv: $Y; $L | perl -pwle 'BEGIN{$$b=3; $$start=5;};$w; s/@\s+/\n/g;' > $@
h32540000_heng.csv: $Y; $L | perl -pwle \
h32540001_zong.csv: $Y; $L | perl -pwle 'BEGIN{$$start=8;};$w;$(\
h32540001_wall_zong.csv: $Y; $L | perl -wple \
h32540001_heng.csv: $Y; $L | perl -pwle \
h32540001_wall_heng.csv: $Y; $L | perl -pwle \
有没有更聪明的方法?
有没有
.ALL_TARGETS: Makefile #or,
%: Makefile
我可以使用什么符号来实现相同的效果?
或者也许只是让它对符合特定模式的所有目标进行操作?
我本来想使用%
符号,但遗憾的是这会重新分配如何制作每个目标的命令列表......
至少使用 GNU Make,您可以通过添加规则(无需配方)来添加先决条件:
这确保所有现有文件都被视为
Makefile
先决条件。这有警告其自身循环依赖的副作用Makefile
,但我不确定是否有办法解决这个问题。在你的情况下,你可以通过限制通配符来避免这种情况:
ETC。