linux中条件执行

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hanjuefu5827/article/details/77715977

关键字:
ifeq else endif
ifneq
注意:条件判断和后面的语句之间要有一个空格.
代码举例:

.PHONY:all
DEBUG = ture         #这样写便于修改,当用于arm就debug
ifeq ($(DEBUG),true)
VERSION =debug 
CC=gcc -g            #gcc -g 编译为debug模式 
else
VERSION=release
CC=gcc               #gcc -o 编译为release模式
endif
hello:hello.c
        @echo "build $(VERSION) mode"
        $(CC) -o $@ $^
clean:
        rm hello
~                 

注:
$( )中放的是命令,相当于,例如$(DEBUG)意思是执行DEBUG命令,返回执行结果与后面的ture进行对比,也可以写为DEBUG
${ }中放的是变量,例如@echo ${build $(VERSION) mode}build $(VERSION) mode变量的值并打印,也可以不加括号比如$ build $(VERSION) mode,也可以$"build $(VERSION) mode"
echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

展开阅读全文

没有更多推荐了,返回首页