Makefile

Makefile是用于自动化编译和链接过程的文件,它包含规则定义了目标文件如何从源文件生成。通过理解Makefile中的规则、预定义变量如$ar, $cc, $cxx,以及特殊符号如$@, $<, $^,开发者可以创建自动生成库的流程。此外,Makefile支持模式匹配,如%.o:%.c,以及函数如$(wildcard)用于获取文件列表,$(patsubst)用于字符串替换,简化构建过程。" 114572559,10558902,微信XML图片下载与保存,"['微信开发', 'PHP', '图片处理']
摘要由CSDN通过智能技术生成

makefile* 可以看懂makefile文件就可以了
src 源文件 .c .h

Makefile: 一段代码,执行这个代码能够自动生成一个库
命名 makefile/Makefile
makefile规则:
一个文件可有一个或多个规则
目标…: 依赖…
命令

makefile中的变量
预定义变量
ar:归档,打包
cc: c compiler
cxx:c++ compiler g++
$@ 目标的完整名称
$< 第一个依赖文件的名称
$^ 所有依赖文件
$(变量名) 获取变量的值

模式匹配
%.o:%.c

src =sub.o add.o mult.o div.o main.o      //要使用的源文件
target= app								//app是要生成的目标文件
$(target):$(src)						//获取目标文件的值: 依赖源文件
        $(CC) $(src) -o $(target)		// 命令

%.o:%.c								// % 是通配符  目标是生成.o文件:依赖于.c 文件
        $(CC) -c $< -o $@			//规则

Makefile中的函数:
$(wildcard pattern…) //获取指定目录下的制定类型的文件列表
$(pastsubst <pattern>,<replacement>,<text> ) \查找text中的单词是否符合模式pattern,如果匹配就用replacement代替

//返回 a.c b.c c.c d.c
$(wildcard *.c  ./sub/*.c)  
//返回 x.o bar.o
$(pastsubst %.c,%.o,x.c bar.c)
src = $(wildcard ./*.c)             //源文件是 获取目录下的.c文件
objs=$(patsubst %.c, %.o, $(src))   //目标文件是.o 文件,但目录下没有.o文件,所以需要使用到替换这个函数
target= app  
$(target):$(src)
        $(CC) $(objs) -o $(target)

%.o:%.c
        $(CC) -c $< -o $@            
clear:                                   //清除
        rm $(objs) -f    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值