GNUmakefile具有相同的输出但依赖性不同

时间:2014-07-03 19:02:53

标签: gnu-make

我不知道如何实现这一点,我有两个规则,输出def.out相同,但它依赖于两个不同的文件(不是同时),一个是abc.xml,另一个是def.xml 。在makefile中,当我调用def.out时,它如何知道调用第一个规则或第二个规则?同样,这个def.out并不同时依赖于abc.xml和def.xml。

def.out:abc.xml     ......

def.out:def.xml     ......

1 个答案:

答案 0 :(得分:1)

一个建议是不要有两个相同的目标。

def_abc.out:

def_def.out:

...因为你必须告诉make实用程序你要使用哪个规则,不是吗?或者,如果您认为系统能够自行解决问题,那么请使用一个目标,但实际上有两个操作。

def.out:       (测试这是什么时候的行动)             (如果是" abc.xml时间")                 make def_abc.out             (其他)                 make def_def.out

您可以根据需要添加代码,以便在合适的时间重命名对象。

但是你问过"它如何知道调用第一条规则或第二条规则?" 我的答案是"你要么在打电话时告诉它,要么告诉它如何知道你何时编写了makefile"。