makefile中$(if condition,then-part[,else-part])举一个例子
时间: 2024-05-08 11:16:27 浏览: 114
Makefile/cmake/node-gyp中区分判断不同平台的方法
假设我们有一个变量`DEBUG`,它的值可以是`true`或者`false`。如果`DEBUG`的值为`true`,我们就希望编译器加上调试信息,否则不加调试信息。我们可以使用`$(if)`函数来实现:
```
DEBUG = true
ifeq ($(DEBUG),true)
CFLAGS = -g
else
CFLAGS =
endif
main: main.c
gcc $(CFLAGS) -o main main.c
```
上面的`ifeq`语句判断`DEBUG`的值是否为`true`,如果是,则将`CFLAGS`设置为`-g`,表示加上调试信息,否则将`CFLAGS`设置为空。然后,在编译`main`目标时,我们使用`$(CFLAGS)`来指定编译选项。这样,当`DEBUG`的值为`true`时,编译器会加上调试信息,否则不会加上调试信息。
阅读全文