$(MAKE) , make命令

make 定义了不少默认变量,像经常使用的命令或者是命令选项之类的,什么CC啊,CFLAGS啊之类。
$(MAKE)就是预设的 make 这个命令的名称(或者路径)。
make -p 能够查看全部预约义的变量的当前值。编译

 

 ———————————————————————————————————————————————————————————————————————————————变量

 

在一些大的工程中,咱们会把咱们不一样模块或是不一样功能的源文件放在不一样的目录中,咱们能够在每一个目录中都书写一个该目录的Makefile,这有利于让咱们的Makefile变得更加地简洁,而不至于把全部的东西所有写在一个Makefile中,这样会很难维护咱们的Makefile,这个技术对于咱们模块编译和分段编译有着很是大的好处。file

例如,咱们有一个子目录叫subdir,这个目录下有个Makefile文件,来指明了这个目录下文件的编译规则。那么咱们总控的Makefile能够这样书写:引用

subsystem:技术

cd subdir && $(MAKE)di

其等价于:文件

subsystem:make

$(MAKE) -C subdir字符

定义$(MAKE)宏变量的意思是,也许咱们的make须要一些参数,因此定义成一个变量比较利于维护。这两个例子的意思都是先进入“subdir”目录,而后执行make命令。参数

咱们把这个Makefile叫作“总控Makefile”,总控Makefile的变量能够传递到下级的Makefile中(若是你显示的声明),可是不会覆盖下层的Makefile中所定义的变量,除非指定了“-e”参数。

 

———————————————————————————————————————————————————————————————————————————————

 

Makefile中容许使用简单的宏指代源文件及其相关编译信息,在Linux中也称宏为变量。在引用宏时只需在变量前加$符号,但值得注意的是,若是变量名的长度超过一个字符,在引用时就必须加圆括号()。

相关文章
相关标签/搜索