1.  $(PWD)和$(shell pwd)
一般情况下,两者等价。
当make -C subdir时,PWD是run这个命令的目录;而shell pwd是subdir

2. $@, $? and $^

Target: Dependence

            Command

Target = $@

Dependence = $^

Updated Dependence = $?

 

3. configure –enable-shared=no

当这个开关关闭的时候,就配置为只生成静态库;其他bin program就仅链接静态库。这个配置对于用GDB调试很管用。

 

4. pkg-config的使用

一般对于lib package,都会提供相应的$(lib_name).pc文件;这样在makefile中需要连接该lib时,我们可以使用

pkg-config –cflags $(lib_name)得到头文件

pkg-config –libs $(lib_name)得到库路径和库名

使用pkg-config的好处是:获得平台无关性

Advertisements