Linux中Makefile的使用

我也是初学Linux,对Linux中的编译产生的一定的厌烦,正巧遇到了makefile。

本文只是讨论Makefile的简单使用,并没有进入很深层次的探讨,谢谢大家。

一、makefile的引入

我们现在已有main.c,mymath.c,mymath.h三个文件,想要此程序能正常运行就需要输入以下命令进行编译连接。

但是当文件多了之后就可能需要多个文件名,会产生极大的麻烦。

有了makefile就会变得简单许多

二、makefile的使用

当有了makefile文件之后只需要键入make命令就行会进行编译链接,生成可执行文件,操作如下

那如何编写makefile文件呢?这将是本文的重点。

在创建了名为makefile的文件后(本文为了方便展示各个版本,使用了makefile+数字的命令和特殊执行方式)编写内容

①版本一(括号内容为解释,不是makefile需要的内容)

main:main.o mymath.o(在文件名后面加冒号,表示main依赖于main.o和mymath.o)

        gcc -o main main.o mymath.o(前面的空格为TAB符,且必须有TAB符,此处是执行的命令)

main.o: main.c(冒号表示依赖)

        gcc -c main.c(必须要TAB符)

mymath.o:mymath.c

        gcc -c mymath.c

接下来执行make命令,就可以生成可执行文件

 

 

②版本二(版本一麻烦,输入两遍.o文件,将需要需要生成的.o文件都用变量代替)

 

 

③ 版本三(.c文件会生成同名的.o文件,指令就可以省略,但此处的编译器变成了cc,在Linux下cc和gcc等价)

(为什么不省略main下面的指令,是因为-o需要制定生成的可执行文件)

 

 

④版本四 (.o文件可以自己找寻.c文件,并且可以归并到同一行)

 

 

⑤版本五(.o可以用变量替换)

 

 

⑥版本六(可以设置不同的路径,用冒号隔开)

 

此时makefile的精简版本基本完成,在没有进行分目录的情况下,一般使用版本五就可以达到精简程度了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值