你了解Makefile关键字?

 makefile会把将要执行的命令行在命令执行前输出到屏幕上,使用@可以避免显示出命令本身

若@ echo 正在编译…则$make显示正在编译…
若echo 正在编译…则$make显示:

echo 正在编译正在编译

override

如果一个变量的值需要在编译选项中指定或由系统传入,那么makefile中可以使用override关键字来设置,使这个变量的赋值被忽略

define

使用define关键字可以定义多行变量

define two-lines echo foo echo $(bar)endef

wildcard

wildcard是makefile的关键字,作用是让通配符(Makefile中的通配符就是*, %算pat     te   rn,不是通配符)在变量或函数中展开,通常用于提取指定目录的某一类型文件。因为在Makefile的规则中,函数中的通配符是不会被展开的,网上有说法是变量的定义时也不会展开,但经过我的     测试   ,变量的定义是可以展开的

DES:= ./*.call: @echo $(DES)./1.c ./2.c #变量可以展开

DES:=$(patsubst %.c,%.z,*.c)all: @echo $(DES)*.z #通配符不能在函数中展开

DES:=$(patsubst %.c,%.z,$(wildcard ./*.c))all: @echo $(DES)./1.z ./2.z #wildcard将通配符展开

export

将变量导出,以便于所有的子makefile都可以使用

include

和C语言的#include一样,将后面的文件展开到当前位置



你了解Makefile关键字?_设计制作_嵌入式技术
79
189
0
52

相关资讯

  1. 1、2018年硅光子光收发器市场超6亿美元1380
  2. 2、全局快门图像传感技术满足动态视觉市场不断演变的需求667
  3. 3、“国之重器”——超强超短激光实验装置与钛宝石的那些事儿!4776
  4. 4、Gartner公司研究表明全球2021年公共云最终用户支出将增长18%2146
  5. 5、谷歌面临数十亿美元罚款,因安卓系统预装软件造成垄断1409
  6. 6、睿思科技发布新一代控制芯片4559
  7. 7、达闼科技获新一轮3亿美元的融资,将扩建上海机器人生产线658
  8. 8、led显示屏应用场景分析3052
  9. 9、DigiLens推出CrystalClear™增强现实(AR)平视显示器4293
  10. 10、新型紫外线辐射监测传感器问世3485
全部评论(0)
我也有话说
0
收藏
点赞
顶部