GNU Make使用中的技巧与陷阱
1. 续行符与注释
在GNU Make中,除了转义功能外,还可以使用\作为续行符。例如:
all: \ prerequisite \ something else @command上述代码中,all规则有三个前置条件:prerequisite、something和else。
注释可以用#字符开始,如果想让#成为字面字符,可以用\进行转义,示例如下:
pound := \#这里$(pound)就是单个字符#。
2. 换行符处理
GNU Make尽量让用户不用直接处理换行符。不能对换行符进行转义,也没有特殊字符的语法(如不能写\n),$(shell)函数还会从返回值中去除换行符。
不过,可以使用define语法定义包含换行符的变量: