linuxC学习第二十四天

一、自动编译

1、创建文件名叫makefile 或者MAKEFILE文件
2、makefile文件书写规则
(1)目标文件:依赖文件
(一个tab键,不能用空格代替)命令代码
使用方法:在终端敲make
3、目标文件:最终要生成的文件
依赖文件:为了生成目标文件所需要的文件
命令:通过依赖文件生成目标文件的方法
4、伪目标文件(不生成目标文件)
已删除为例
clean:
(一个tab键,不能用空格代替)命令代码
使用方法:在终端敲make clean
伪目标最好在PHONY后面声明一下
5、执行规则
(1)如果目标文件时间早于依赖文件则重新生成目标文件
(2)如果目标文件不存在,会根据依赖文件生成目标文件

二、 makefile中的一些函数

1、makefile中变量不需要函数
2、用$取变量的值
3、wildcard 匹配当前目录下所有类型文件格式
$(wildcard *.c) 匹配当前目录下所有.c文件
4、pastsubst把一个文件夹中所有的类型文件转换成另外一种类型
5、自动变量
$(@)代表规则中的目标文件
$(n)代表规则中所有的依赖文件
$( c)代表规则中第一个依赖文件
6、模式匹配
%.o:%.c
2、代码格式

src = $(wildcard ./src/*.c)        
obj = $(patsubst ./src/%.c, ./obj/%.o, $(src))  

target=./bin/a.out
all:$(target)

$(target):$(obj)
	gcc $(^) -o $(@)   

$(obj):./obj/%.o:./src/%.c
	gcc -c $(^) -I ./include -o $(@) 
	
.PHONY:clean all
clean:
	-rm -rf $(target) $(obj)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值