Makefile中override 指示符
来源:互联网 发布:大数据技术是什么 编辑:程序博客网 时间:2024/06/06 02:45
override VARIABLE = VALUE
或者:
override VARIABLE := VALUE
也可以对变量使用追加方式:
override VARIABLE += MORE TEXT
对于追加方式需要说明的是:变量在定义时使用了“override”,则后续对它值进行追加时,也需要使用带有“override”指示符的追加方式。否则对此变量值的追加不会生效。
指示符“override”并不是用来调整Makefile和执行时命令参数的冲突,其存在的目的是为了使用户可以改变或者追加那些使用make的命令行指定的变量的定义。从另外一个角度来说,就是实现了在Makefile中增加或者修改命令行参数的一种机制。我们可能会有这样的需求;可以通过命令行来指定一些附加的编译参数,对一些通用的参数或者必需的编译参数在Makefile中指定,而在命令行中指定一些特殊的参数。对于这种需求,我们就需要使用指示符“override”来实现。
例如:无论命令行指定那些编译参数,编译时必须打开“-g”选项,那么在Makefile中编译选项“CFLAGS”应该这样定义:
override CFLAGS += -g
这样,在执行make时无论在命令行中指定了那些编译选项(“指定CFLAGS”的值),编译时“-g”参数始终存在。
同样,使用“define”定义变量时同样也可以使用“override”进行声明。例如:
override define foo
bar
endef
最后我们来看一个例子:
# sample Makefile
EXEF = foo
override CFLAGS += -Wall –g
.PHONY : all debug test
all : $(EXEF)
foo : foo.c
………..
………..
$(EXEF) : debug.h
$(CC) $(CFLAGS) $(addsuffix .c,$@) –o $@
debug :
执行:make CFLAGS=-O2 将显式编译“foo”的过程是“cc –O2 –Wall –g foo.c –o foo”。执行“make CFLAGS=-O2 debug”可以查看到变量“CFLAGS”的值为“–O2 –Wall –g”。另外,这个例子中,如果把变量“CFLAGS”之前的指示符“override”去掉,使用相同的命令将得到不同的结果。大家试试看!
- Makefile中override 指示符
- Makefile中override 指示符
- Makefile中override 指示符
- Makefile中override 指示符
- override 指示符
- Makefile include指示符
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- C语言文件操作之EOF解析
- Actionbar 解决溢出菜单不显示的问题
- 网易微博将正式关闭 用户迁至轻博客LOFTER
- Digester解析xml文件
- ios7返回手势优化
- Makefile中override 指示符
- android—广告实现
- Container With Most Water
- CALayer position contains NaN: [nan inf]解决方法
- 程序猿表白代码,哈哈哈
- android在OnCreate中获取控件的宽度和高度.
- iPhone 6 Plus要召回是谣言
- PHP写入时复制 (Copy on Write)
- iOS中字体样式的设置、颜色、空心、删除线、阴影、斜体、扁平化