【问题标题】:Make: run code before a dependency is checkedMake:在检查依赖项之前运行代码
【发布时间】:2020-10-25 03:50:59
【问题描述】:

我有一个依赖于外部库的目标:

output.txt: library/build.txt main.txt
  cat library/build.txt main.txt >output.txt

(这只是一个例子,我的实际makefile要复杂得多)

但是,library/build.txt 是由单独的 makefile 生成的。 在 make 检查 library/build.txt 是否比 output.txt 更新之前,我需要运行库 makefile(可能会更新 build.txt)

我可以让它每次都运行$(MAKE) -C library,但我希望只在需要时调用它(意思是,当你尝试创建一个依赖于 library/build.txt 的目标时)

这可能吗? (也许有一种方法可以获取依赖项列表,然后在该列表包含 library/build.txt 时运行一些东西?)

【问题讨论】:

    标签: makefile


    【解决方案1】:

    您可以尝试以下方法:

    FORCE:
    
    library/build.txt: FORCE
        @echo make to build $@
    
    output.txt: library/build.txt main.txt
        cat $^ > $@
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-01
      • 2020-02-26
      • 2014-06-20
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 2012-10-31
      相关资源
      最近更新 更多