GNU Make标准库实用功能与函数详解
1. DEBUG设置检查
逻辑运算符的一个实用场景是确保makefile的使用者将DEBUG设置为Y或N。借助GMSL断言函数assert,当参数不满足条件时会输出致命错误。示例代码如下:
include gmsl $(call assert,$(call or,$(call seq,$(DEBUG),Y),$(call seq,$(DEBUG),N)),DEBUG must be Y or N)若用户错误地将DEBUG设置为Oui,就会触发错误:
$ make DEBUG=Oui Makefile:1: *** GNU Make Standard Library: Assertion failure: DEBUG must be Y or N. Stop.2. 预处理器中使用逻辑运算符
GNU make的预处理器缺乏逻辑操作,编写复杂语句较为困难。例如,要在DEBUG设置为Y或Yes时定义makefile的一部分,传统方式要么代码重复,要么语句