Makefile文件依赖

时间:2017-05-05 00:51:14

标签: makefile

我在makefile多文件依赖项中遇到了一些问题。理解带有目标和依赖关系的makefile规则。

目标:依赖

但是,如果我有多个依赖项,如何编写makefile,并且任何一个获得更新将触发目标,同时不存在所有依赖项文件,它是可选的。

示例:

target.txt: file1.txt file2.txt file3.txt file4.txt
    @echo "Compiling target.txt file"
    target_gen.sh -output target.txt

在上面的情况下,file1.txt file2.txt file3.txt file4.txt是可选文件,它们都可以存在或者存在。列出的任何一个依赖文件获得更新都会触发target.txt文件的重新编译。 target_gen.sh是一个脚本,它将搜索file1 - file4并将其编译为单个目标文件。

感谢您的建议, -Kian Boon -

1 个答案:

答案 0 :(得分:0)

您可以使用一个功能来抓取所有

OPTIONAL_FILE_DEPS=$(wildcard file*.txt)

target.txt : $(OPTIONAL_FILE_DEPS)
    ./generate-target $^ > target.txt

当任何文件* .txt比target.txt更新时,这将重建,但如果你删除它,则不会注意到。