【发布时间】:2011-08-09 16:23:07
【问题描述】:
我有一个生成多个目标的 make 文件。比如:
target-a: target-a.src target-include.src
@$(BUILD_TOOL) -f $< -o $@
target-b: target-b.src target-include.src
@$(BUILD_TOOL) -f $< -o $@
target-c: target-c.src target-include.src
@$(BUILD_TOOL) -f $< -o $@
实际的构建过程(上面缩写为$(BUILD_TOOL))是一个多行的事情,涉及编译器、脚本和各种诸如此类的东西,但可以说,构建过程作用于第一个目标依赖项($<)并产生输出目标 ($@)。
这是相当笨拙的。 我下面的内容是否会被视为替换上面内容的安全方式(使用没有后缀的模式规则)?
all: target-a target-b target-c
% : %.src target-include.src
@$(BUILD_TOOL) -f $< -o $@
make 工具是 GNU,我很乐意使用它的强大扩展。
【问题讨论】: