如何在makefile中添加文件依赖项

时间:2014-03-21 18:28:28

标签: gnu-make

嗨说我有一个名为" myProg"的程序,它需要一个参数,即一个文件说abc.xml,并生成另一个文件说def.out。所以它就像这样

myProg -input abc.xml -output def.out

现在,我想创建一个makefile来添加abc.xml的依赖性,这意味着,如果不更改abc.xml,我不需要调用myProg来进行def.out。我只是想知道如何在makefile中实现这一点?

由于

1 个答案:

答案 0 :(得分:0)

创建一个名为Makefile的文件应该这样做:

def.out : abc.xml
    myProg -input $< -output $@

请注意,缩进必须使用制表符完成,但我不能在此处的代码列表中添加制表符。

$<$@automatic variables,它们将扩展到第一个先决条件和目标。

def.out将是默认目标,因为它是第一个目标,因此您应该能够运行make并获得所需的结果。

如果你希望它重新运行,如果程序比输出更新,你可以将它添加到先决条件列表中(假设myProg在同一目录中......):

def.out : abc.xm myProg
    myProg -input $< -output $@