如何在Makefile中跳过目标以获取更新

时间:2017-03-09 00:16:06

标签: makefile gnu-make

在我的项目中,我对makefile有以下要求

  1. 我们有一个makefile,其中包含定义许多宏的常见makefile以及许多规则* .c和* .o(如果它们不存在)。
  2. 在我的makefile中,应检查依赖关系是否存在给定目标
  3. 如果依赖项(时间戳)中有更新,则应更新目标。
  4. 但无论如何(虽然不存在依赖关系),不应该从普通的makefile为我的依赖项执行特殊规则(在步骤1中定义)。我想跳过常见makefile中定义的规则。只需检查依赖关系,时间戳,永远不要执行任何指定依赖关系的规则。
  5. 仅限订购的先决条件在这里没有帮助,因为如果依赖项中有更新,则不会更新目标。
  6. 实施例

    all: bin
    bin: a.o
    a.o: a.c ---->(check existance and timestamp, but never to go to target a.c at any case. Error is ok if file is not present)
        echo building a.o
        touch a.o
    a.c:   ---> (Assume that this rule is included from common makefile)
        touch a.c
        enter code here
    

0 个答案:

没有答案