【问题标题】:Makefile: Multiple targets, one dependencyMakefile:多个目标,一个依赖项
【发布时间】:2011-02-14 10:27:24
【问题描述】:

我有一个脚本,它根据另一个代码文件(比如 origin.h)生成 2 个代码文件(例如,src1.c、src2.c)。
我使用 makefile 来构建它们。
现在,我希望在 src1.c 或 src2.c 比 origin.h 旧时执行脚本。

最好的方法是什么?

谢谢。

【问题讨论】:

    标签: c linux makefile


    【解决方案1】:

    使src1.c和src2.c共同依赖origin.h:

    src1.c src2.c : origin.h
            build-sources
    

    【讨论】:

    • 另一种选择是创建一个依赖于 .c 文件的 DUMMY 目标。
    • 如果使用并行 make (make -j),这可能会出现问题。在这种情况下,build-sources 可以执行两次。我为此找到的唯一解决方案是使用 .NOTPARALLEL: Makefile 依赖项。不优雅,但确实有效。
    猜你喜欢
    • 2015-02-24
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    相关资源
    最近更新 更多