假设以下makefile文件
objects = $(wildcard *.in)
outputs := $(objects:.in=.txt)
%.txt: %.in
some-command $@ $<
compile: $(outputs)
这按预期工作。
现在,我想添加另一个名为(例如)upgrade
的目标,该目标应该执行与compile
相同的操作,但是将附加选项传递给some-command
(可能取决于环境变量,但是超出此问题的范围。)
到目前为止,我发现的唯一“解决方案”是递归调用相同的makefile并通过env变量传递其他选项。但这似乎是一个非常丑陋的hack。
我是在make上有可能吗(GNU很好,这不必是可移植的)还是我只是以错误的方式来做?
答案 0 :(得分:1)
Target-specific variable value:
<div class="intro concl background">
<p>HELLO</p>
</div>
.background {
background-color: yellow;
}
.intro {
// intro specific stuff
}
.concl {
// concl specific stuff
}