GNUMake点滴(2)

来源:互联网 发布:淘宝店网址能备案吗 编辑:程序博客网 时间:2024/05/23 22:57

1.  传递变量给子make进程


    在没有明确指定的情况下,上层make不会将其所执行的Makefile中定义的变量传递给子make进程。下列情况下变量将传递给子进程:
  1. make执行前已经存在的环境变量。
  2. 使用命令行指定的变量(如命令“make CFLAGS +=-g”或者“make –e CFLAGS +=-g”)。
  3. export VARIABLE ...
  4. 两个特殊的变量“SHELL”和“MAKEFLAGS”,除非使用指示符“unexport”对它们进行声明,否则在整个make的执行过程中始终被自动的传递给所有的子make。
  5. 个变量“MAKEFILES”,如果此变量有值(不为空)那么同样它会被自动的传递给子make。
    值得注意的是,如果子make进程所执行Makefile中存在同名变量定义,则上层传递的变量定义不会覆盖子Makefile中定义的值。就是说如果上层make传递的变量和子make所执行的Makefile中存在重复的变量定义,则以子Makefile中的变量定义为准。除非使用make的“-e”选项。
原创粉丝点击