GNUMake点滴(1)

来源:互联网 发布:淘宝店网址能备案吗 编辑:程序博客网 时间:2024/06/06 15:41
1. .PHONY声明伪目标。
2. 规则中每一行命令都会另起一个shell执行,不同shell之间没有任何关系
比如:
cd subdir
rm a.o

则第二行删除的是当前目录下的a.o,而与subdir无关。
要实现这种功能需要将两条命令写在同一行:cd subdir; rm a.o


3. 要执行子目录中的make,推荐使用下面的方式:
subsystem:
    cd subdir && $(MAKE)

    变量“MAKE”的特点是:在规则的命令行中如果使用变量“MAKE”,标志“-t”、“-n”和“-q”在这个命令的执行中不起作用。尽管这些选项是告 诉make不执行规则的命令行,但包含变量“MAKE”的命令行除外,它们会被正常执行。同时,执行make的命令行选项参数被通过一个变量 “MAKEFLAGS”传递给子目录下的make程序。
     例如,当使用make的命令行选项“-t”来更新目标的时间戳或者“-n”选项打印命令时,这些选项将会被赋值给变量“MAKEFLAGS”被传递到下一 级的make程序中。在下一级子目录中执行的make,这些选项会被附加作为make的命令行参数来执行,和在此目录下使用“make -t”或者“make -n”有相同的效果。

 
原创粉丝点击