zoukankan      html  css  js  c++  java
  • 对 makefile中 orderonly 前提条件的理解

    order-only”依赖的使用举例:

        LIBS = libtest.a

    foo : foo.c | $(LIBS)

           $(CC) $(CFLAGS) $< -o $@ $(LIBS)

    make在执行这个规则时,如果目标文件“foo”已经存在。当“foo.c”被修改以后,目标“foo”将会被重建,但是当“libtest.a”被修改以后。将不执行规则的命令来重建目标“foo”。

     

    还是自己做一个小例子会比较爽:

    LIBS=lib.a
    foo: foo.c | $(LIBS)
        touch foo
        @echo "gao"

    在 foo.c 文件 和 lib.a 文件都存在的情况下。

    执行 make 的结果是:

    显示 

    touch goo

    gao

    而 此时修改 lib.a 文件,再执行 make:

    foo is up to date

     

  • 相关阅读:
    js中级-函数封装
    js中级-11.7
    js中级-11.5
    js中级-11.2
    js中级-this
    js中级-作用域链
    10.23
    10.22
    10.19js
    10.18
  • 原文地址:https://www.cnblogs.com/gaojian/p/2690899.html
Copyright © 2011-2022 走看看