makefile

.phony:clean

clean :

         -rm *.o 减号 忽略错误。

VPATH makefile 中的一个变量

VPATH=src:../obj冒号分隔 顺序搜索,当前目录最高优先级。

vpath 小写为makefile 关键字,作用设置符合模式文件搜索路径

vpath *.c src

vpath *.o obj

vpath *.c source

vpath *.c 取消设置


makefile 函数

函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:
$(<function> <arguments> )
或是
${<function> <arguments>}
这里,<function>就是函数名,make支持的函数不多。<arguments>是函数的参数,参数
间以逗号“,”分隔,而函数名和参数之间以“空格”分隔。函数调用以“$”开头,以圆
括号或花括号把函数名和参数括起。感觉很像一个变量,是不是?函数中的参数可以使
用变量,为了风格的统一,函数和变量的括号最好一样,如使用“$(substa,b,$(x))”这
样的形式,而不是“$(substa,b,${x})”的形式。因为统一会更清楚,也会减少一些不必
要的麻烦。

参考

http://blog.csdn.net/ustc_dylan/article/details/6963248


@echo 你好

显示 你好

echo 你好

显示 echo 你好

          你好

make

-C

-f

-h

-o

-W


MAKELEVEL

:=

?=

变量PATH=/opt/app    #curent  path

echo $PATH

/opt/app[][][][]


变量高级使用

变量值的替换。

foo := a.o b.o c.o

bar := $(foo:.o=.c)

静态替换

foo := a.o b.o c.o
bar := $(foo:%.o=%.c)


override提示符

makefile 中CFLAGS+=-g              CFLAGS=-g

有override

make CLFAGS=-O2                   

结果 -g -O2                                     -g

没有override

make CFLAGS=-O2      

结果-O2                                        -O2



8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值