Linux--makefile

一、makefile的作用

makefile是一个文件,是围绕依赖关系和依赖方法的自动化编译工具

一个工程中的源文件有很多,按照不同的类型、功能、模块放在不同的目录中。而makefile定义了一系列的规则来指定,那些文件需要先编译,那些文件需要后编译,以及更加复杂的功能

makefile的好处:自动化编译。makefile在编写完成后,只需要执行make命令,就可以对整个工程进行自动编译,提高了软件开发的效率

make是一条命令,用来运行makefile文件。makefile是一个文件,用于定义编译的规则。两个搭配使用,完成项目自动化构建

二、使用方法

一个简单的makefile文件编写

test:test.c
	gcc -o test test.c
.PHONY:clean
clean:
	rm -f test

这段代码中的解释如下:

1)现有文件为test.c,目标文件为test。通过执行gcc生成test文件

2).PHONY的英文示意是伪造的、假的。因此代码可以简单理解为伪造了一个clean文件。执行clean文件就会执行下面clean内实现的语句rm -f test

程序执行结果如下:

三、问题 

问题一:如果连续执行两次make操作,是否会生成两个test可执行文件?

并不会重复生成文件,会提示可执行文件已经为最新

问题二:makefile如何得知是否需要重新执行呢?

通过对比时间来执行,可以使用stat命令来查看文件状态

如果源文件的更改时间比可执行文件的时间跟新,则重新生成可执行文件

可以通过touch测试,touch的功能是如果不存在文件则生成该文件,如果存在文件则更新该文件的时间

从下图可以看出,在touch后test.c的时间更新。因此make会重新生成新的可执行文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值