如何编写具有多个目标/先决条件的GNU Makefile来执行相同的配方?

时间:2018-04-07 13:10:32

标签: gnu-make

举个例子:

a:b
        cp $< $@
c:d
        cp $< $@
e:f
        cp $< $@

一种解决方案是使用函数:

define my_cp
     cp $(1) $(2)
endef
a:b
        $(call my_cp, $<, $@)
...

但是我想知道人们是否可以提出替代方案......

1 个答案:

答案 0 :(得分:1)

call似乎比必要的更复杂。你可以使用:

CP = cp $< $@

a:b
        $(CP)
...

你也可以这样做:

a c e:
        cp $< $@
a: b
c: d
e: f

尽管如此。