makefile ifneq
时间: 2023-07-28 20:31:04 浏览: 162
makefile
ifneq 是 makefile 中的一个条件判断语句,用于判断某个变量是否存在或是否满足某个条件,语法如下:
```
ifneq (arg1, arg2)
# 如果arg1不等于arg2,则执行下面的命令
command
endif
```
其中 arg1 和 arg2 可以是任意字符串,如果 arg1 不等于 arg2,则执行 command 中的命令。endif 用于结束 ifneq 语句块。
举个例子,假设我们要在编译 C 代码时根据不同的操作系统选择不同的编译器,可以这样写:
```
ifeq ($(shell uname), Darwin)
CC = clang
else
CC = gcc
endif
all:
$(CC) -o myprogram myprogram.c
```
如果当前操作系统是 Darwin(即 Mac OS X),则 CC 变量被赋值为 clang,否则为 gcc。然后在 all 规则中使用 $(CC) 变量来编译 myprogram.c 文件。
阅读全文