Makefile对文件分类打包

通过Makefile可以实现一次性编译多个cpp以及h文件, 相应的, 只需略加处理, 则可将编译好的.o文件存放到指定文件夹内.
如图, 为一个简单的Makefile
在这里插入图片描述
它对三个cpp文件进行编译, 分别是main.cpp, BookManger.cpp, Books.cpp, 在这个Makefile中, 首先声明了一个变量obj赋值为编译后的.o文件, 一个main目标, 依赖于变量obj, 如obj中文件比main.exe更新, 则会执行下一行的cmd命令, 然后描述了Books.cpp, main.cpp, BookManger.cpp包含的头文件关系.
当使用make命令执行这个makefile时, 那么它实际上会将编译后的文件都保存到与makefile同一级目录下, 那么实际上我们是不想看到这种情况发生的, 我们更希望它能像visual studio一样能将文件分类打包好,则会显得更加整洁一些.
如图, 为改进后的一个makefile
在这里插入图片描述
改进后的makefile加入两个变量, 分别指定cpp存放路径和.o文件存放路径, VPATH代表make指令将会到VPATH指定的目录下寻找, 加入了一个新的依赖关系, 因为上一个makefile中我们使用了make的隐式规则, 也就是让make自行推断cpp文件与.o文件的依赖, 在这里因为我们要将.o文件存放入指定文件夹下, 所以明确指出依赖. 编译后的文件结构如下图所示
在这里插入图片描述
其中File文件夹为无关文件夹, src用于存放.cpp文件, obj存放.o文件.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值