Makefile 模板

本文介绍了作者在研究Makefile后创建的一个适用于小型项目的模板,该模板支持显示编译进度、预编译、自动计算编译时间、生成静态库和ELF文件等功能。模板还具有自动重编译头文件更新的源文件、多对象支持和编译临时文件隔离等特性。文章提供了模板的GitHub链接及使用方法。
摘要由CSDN通过智能技术生成

之前在各个不同的项目中,写过各种各样的Makefile,一直苦于没有一个相对理想的Makefile的模板。

1)Android中的Android.mk文件功能不错,但是整个Android的编译系统相对比较复杂,涉及的内容也很多,对于小的项目来说有点杀鸡用牛刀的感觉。

2)Linux Kernel的kbuild系统,也不错,但是还是有点太过于复杂,而且看起来不太适合用编译多个不同的elf还有多个静态库啥的。当然也有可能是自己不熟悉,同时好像没有进度的显示,也没有pre-compile的支持。

最近抽空专门学习了一下Makefile,基于make的基本功能,写了一个自己的makefile 模板。

主要实现了以下的一些功能:

1) 支持显示编译的进度:make的时候,可以自动统计出来所有需要编译的对象,并实时显示编译进度。在系统中如果有多个makefile,通过sub-make去调用多个submake的时候,会统一计数。

2)支持Pre-compile,在Linux平台下编译之前写的editor的程序,实测打开之前单核编译完成是27秒,打开之后单核编译完成时间是15秒,其中包含了生成gch文件的时间。

3)自动计算整体的编译时间。

4)支持自动生成静态库。

5)支持自动生成elf文件。

6)支持elf中直接使用自己定义的静态库。

7)include的头文件更新之后,会自动重编对应的.cpp/.c文件。

8)编译库的时候,支持指定目录自动编译所有的文件,也可以指定文件列表。

9&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值