我试图让GNU make从单个输入产生多个输出.我能证明的最简单的例子是:
a b : test
cp $< $@
Run Code Online (Sandbox Code Playgroud)
我认为应该将文件复制test到文件名a和b.但是,它只会使文件a在我看来与此处列出的说明相反:
http://www.gnu.org/software/automake/manual/make/Multiple-Targets.html
难道我做错了什么?
谢谢,汤姆
如果您运行依赖的规则a,它将使用$<as test和$@as 运行您的规则a.如果您运行依赖于的规则b,$@则会b改为.如果您制定的规则高于当前规则,例如:
all: a b
Run Code Online (Sandbox Code Playgroud)
它将运行规则a和b,这是同样的规则两次.否则,如果您的规则是文件中的第一个,它将仅使用第一个目标运行它,即a