Makefile的使用——模板

 在生活中实际编程的时候,我们往往将一个工程划分为若干个子目录,相同类型的文件放在一个子目录中,例如:include目录用来存放头文件,lib目录用来存放库,功能不同的.c文件放在不同的目录下。这时候,如果使用gcc编译器进行编译的话会非常麻烦,需要一个个进入目录然后编译,所以一般我们会选择make工程管理器进行编译,只要编写三类的makefile就可以实现对整个工程的编译了。

三类makefile:①总控makefile:进入各个功能子目录执行make命令;将所有的.o文件链接或者生成最终的可执行文件

              ②scripts目录的makefile:定义了许多变量,相当于C语言中的头文件

              ③功能子目录的makefile:将src目录下的.c文件编译成.o文件

 

下面是编译整个工程的一个Makefile模板:

 

第一步:新建工程(一个实现加减乘除运算的计算器)

树形结构图如下:

 

 

第二步:编写scripts目录的makefile,定义各种需要用到的变量

 

第三步:编写总控makefile

 

 

第四步:编写各功能子目录下的Makefile(由于各功能子目录下的Makefile结构相同,这里以main函数的功能目录的Makefile为例)

 

 

第五步:全部编写完之后,回到顶级目录,执行make

 


第六步:执行结果

 

 

第七步:执行make clean操作,清除.o文件

 

 

上面的模板是使用了许多函数,包括wildcardpatsubstcall等,其实不使用这些函数也同样能够实现上述的编译效果,下面提供一种不使用函数的Makefile模板:

 

第一步:新建工程(一个实现加减乘除运算的计算器)

树形结构图如下:

 

第二步:编写scripts目录的makefile,定义各种需要用到的变量,这次不使用函数

 

 

第三步:编写总控makefile

 

 

第四步:编写各功能子目录下的Makefile(由于各功能子目录下的Makefile结构相同,这里以main函数的功能目录的Makefile为例)

 

 

第五步:全部编写完之后,回到顶级目录,执行make

 

 

第六步:执行结果

 

 

第七步:执行make clean操作,清除.o文件

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值