makefile

Makefile是用于自动化编译和链接的工具,其关键在于规则定义,如目标依赖关系。函数如wildcard用于匹配文件,patsubst实现字符串替换。变量如$@代表目标,$^代表所有依赖,$<代表第一个依赖。模式规则允许批量处理,如%.o:%.c将.c编译为.o。
摘要由CSDN通过智能技术生成

makefile文件可以自动根据用户给定指令进行源文件的编译链接工作。

makefile文件有以下要点:

1、规则

2、函数

3、变量

规则

规则写法如下:

#目标:依赖
#    shell命令

#例:
test.out:test.o#目标项为可执行文件test.out,该文件的生成依赖于test.o
    gcc test.o -o test.out#利用该命令可以完成依赖项对目标项的生成

函数

wildcard

该函数可以对指定目录下的文件进行匹配并返回给一个变量

src=$(wildcard ./*.c)#意味着将当前目录下所有.c文件生成一个列表并赋值于src

patsubst

该函数可将第三个参数中的与第一个参数相同的内容替换为第二个参数的内容

obj=$(patsubst %.c,%.o,$(src))#将src变量中所有的.o换做.c

变量

  • $@:代表了规则中的目标
  • $^:代表了规则中的所有依赖
  • $<:代表了规则中的第一个依赖,但在模式规则下,代表了所有依赖依次取出并执行规则向目标的转换

     

模式规则:   

将规则写为% :% 形式;例如%.o:%.c即当前目录所有.c文件为依赖条件,并生成相应的目标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值