Makefile关键字

@

makefile会把将要执行的命令行在命令执行前输出到屏幕上,使用@可以避免显示出命令本身
@ echo 正在编译…$make显示正在编译…
echo 正在编译…$make显示:

echo 正在编译
正在编译

override

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

define

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

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

wildcard

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

DES:= ./*.c
all:
    @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一样,将后面的文件展开到当前位置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值