【Linux】Linux项目自动化构建工具Makefile

目录

1、背景

2、Makefile理解

3、单文件多文件实现

3.1、单文件示例

3.2、多文件示例

4、总结


1、背景

make是一个命令

makefile是一个文件

make和makefile存在的价值是自动化的构建项目

2、Makefile理解

编写makefile时,要有依赖关系和依赖方法,编写makefile目标是把我的源代码编译自动形成可执行。

a、依赖关系 (表明谁依赖谁)

b、依赖方法(通过依赖方法如何形成目标文件)

makefile在自顶向下扫描时,默认先找到你要形成的第一个目标文件,并且执行,只会使用一对依赖关系和依赖方法,想执行任何一个新的目标可以在make后面加上名字,例如make clean

3、单文件多文件实现

3.1、单文件示例

3.2、多文件示例

创建test.h(包含方法的声明) test.c (包含方法的实现)main.c(main函数所在的地方会调用test.h里声明的方法),编译链接时把test.c和main.c两个文件合起来形成可执行。

一般编译项目时会把源文件main.c ,test.c编译成main.o,test.o,加上libc.so(动态库)合并链接形成可执行

4、总结

        make是一个命令,makefile是一个文件,makefile文件里面包含依赖关系和依赖方法,一般必须有依赖关系和依赖方法,依赖关系可以不依赖任何文件,写makefile时要有目标,怎么生成项目,怎么清理项目,生成项目进行依赖关系和依赖方法的编写,清理项目使用.PHONY定义一个伪目标,使用伪目标来清理项目,伪目标总是被执行的,makefile辨别程序是否重新编译,取决于源文件和可执行程序时间的新旧,来决定程序是否重新编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值