makefile 判断if else
时间: 2023-10-10 18:13:19 浏览: 266
test for makefile
3星 · 编辑精心推荐
在 Makefile 中,可以使用条件语句来判断变量或者条件是否满足,从而执行不同的命令。常用的条件语句包括 ifeq、ifndef、ifdef、else、endif 等。
例如,判断变量 $(CC) 是否等于 gcc,如果等于,则执行编译命令,否则不执行:
```
ifeq ($(CC),gcc)
# 如果 CC 等于 gcc,则执行以下命令
gcc -o program program.c
else
# 如果 CC 不等于 gcc,则执行以下命令
echo "Error: CC is not set to gcc"
endif
```
另外,可以使用 ifdef 和 ifndef 来判断变量是否已经定义。例如,判断变量 $(CFLAGS) 是否已经定义,如果已经定义,则执行编译命令,否则打印警告信息:
```
ifdef CFLAGS
# 如果 CFLAGS 已经定义,则执行以下命令
gcc $(CFLAGS) -o program program.c
else
# 如果 CFLAGS 没有定义,则打印以下警告信息
@echo "Warning: CFLAGS is not set, using default flags"
gcc -o program program.c
endif
```
需要注意的是,Makefile 中的条件语句必须以 TAB 键开头,不能使用空格。
阅读全文