简单使用makefile V1.0
来源:互联网 发布:一元秒杀包邮 淘宝 编辑:程序博客网 时间:2024/06/01 08:23
最近,折腾了下LINUX下的makefile。对于makefile,各种说法是,makefile是一种指导自动化编译的规则集合。通过它,程序员指定了编译器,源文件,目标文件的编译顺序。极大的提高了编译速度。特别是project有多个源文件时。WINDOWS下,更多的使用IDE,点个按钮就可以完成编译。相比之下,LINUX有一种GEEK的风格。噼里啪啦敲键盘,然后完成编译。
在学习编程的最开始阶段,程序不大,几行,几十行也就结束了,一般都在一个文件中,编译时,输入命令行 gcc 1.c ,如果成功,默认输出a.out。在命令行下输入./a.out,显示执行结果。OK。好像没有什么问题~
但是,不可能总是菜鸟吧?程序不可能总是几十行吧?当几十行变为几百行,几千行,一个源文件变为100个源文件,甚至更多,还这么整不是要累死程序员的节奏?幸好,我们有了makefile这个神器,极大的减轻了我们的重复的体力劳动。只要编写一个makefile,需要编译时,输入make就OK。如果需要重新编译,输入make clean;make,工作量少的不是一点点哦。
假如有3个C文件,2个头文件,命名为main.c,1.c,2.c 1.h 2.h.可执行文件名称x。
那么makefile这么写,将以下文字输入到一个文件中,文件名称makefile。
CC=gcc #指定编译器
OBJECT=main.o 1.o 2.o #目标文件,*.o
TARGET=x #可执行文件
#目标文件生成可执行文件
$(TARGET):$(OBJECT)
$(CC) $(OBJECT) -o $(TARGET) #此行以TAB开始!下同,抱歉,因为在博客环境下,无法打出TAB。
#main.o,注意,加入非标准库 头文件
main.o:main.c 1.h 2.h #编译main.c,
$(CC) -c main.c
#1.o
1.o: 1.c
$(CC) -c 1.c
#2.o
2.o:2.c
$(CC) -c 2.c
#清理编译结果
clean:
rm -rf $(TARGET) $(OBJECT) #删除生成文件,
以后,如果要增加或者删除源文件,记得修改makefile规则,make clean;make就可以了。所以呢,以后编程时,先建立一个makefile,后面需要什么,改makefile,然后make clean;make。等等,待我喝杯水~
- 简单使用makefile V1.0
- makefile: g++ 简单使用
- makefile简单使用
- makefile 简单使用
- makefile的简单使用
- makefile的简单使用
- Makefile简单使用
- 使用C++实现简单线程池v1.0
- 使用C++实现简单线程池v1.0
- Makefile之学习总结(2)--- Makefile (v1.0)
- 简单文件操作系统V1.0
- 使用makefile的简单例子
- Gcc的Makefile简单使用
- 使用autotools简单生成Makefile
- Gcc的Makefile简单使用
- Makefile简单使用的例子
- Makefile简单使用的例子
- Gcc的Makefile简单使用
- Roads and Libraries
- 西邮杯初赛
- PAT甲级 1006
- 分享马化腾在3Q大战后写给腾讯全体员工的一封信
- C++设计模式之观察者模式
- 简单使用makefile V1.0
- 数通平台软件中的概念:组件
- 你所不知道的腾讯和马化腾——一封腾讯内部的员工信
- 多线程应用场景
- 精 挑 细 选
- 马化腾:我最大的担忧,就是越来越看不懂年轻人的喜好
- 转载:Linux TCP队列相关参数的总结
- 注销与登录Kindle电子书阅览工具
- 狐狸分奶酪(codeforces 371b)