Linux下makefile文件的编写

在学习如何编写makefile文件之前,我们首先需要了解什么是makefile文件:

makefile描述了整个工程的编译和链接等规则。它指明了哪些文件需要先编译,哪写文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作。makefile的“自动化编译”可以极大的提高软件的开发效率。

makefile的基本规则:

目标:依赖

(tab)命令

根据这个命令来编写一个简单的makefile文件:

定义了fun1.cpp fun2.cpp head.h 和main.cpp文件,利用这几个文件来编写一个简单的nakefile文件。

 

那准备工作做完后,我们来创建makefile文件:

vim makefile

在makefile文件里面,我们写上:

main:main.cpp fun1.cpp fun2.cpp
    g++ main.cpp fun1.cpp fun2.cpp -o main

 创建好后,输入make命令,运行,得到main可执行文件

 输入./main运行可执行文件:

缺点:当这些文件没有被修改时,运行make命令,它会提示我们所有的文件都是最新的,这也展现了makefile文件知道项目什么时候需要编译,那些文件需要编译,哪些不需要。但是当我们只修改了其中一个文件时,在重新执行make命令,所有的文件都会重新编译。如果这个项目里面有很多文件的话,那修改一个,就要重新编译很多个文件,这样执行效率就会很低。

为了解决这个问题,我们将makefile文件进行改写:

main_test : main.o fun1.o fun2.o
    g++ main.o fun1.o fun2.o -o main_test.o

main.o : main.cpp
    g++ -c main.cpp -o main.o -I./

fun1.o : fun1.cpp
    g++ -c fun1.cpp -o fun1.o

fun2.o : fun2.cpp
    g++ -c fun2.cpp -o fun2.o

重新执行make命令, 当面对新的文件被修改,那么只要要重新编译被修改的文件即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值