工程管理工具make及makefile
2013-08-03 10:22
295 查看
本文转自:http://zhangzhenyuan163.blog.163.com/blog/static/858193892011427104447462/
先给一个成功以后所生成的全部文件
1.为什么要管理工具make和makefile
和使用连接文件testlink相似,BC也允许把源文件的编译及目标文件的连接全部工作写成一种叫makefile的文件,并提供了可以执行这种文件的工具make.exe实现了所谓的自动编译和连接
2.make工具
总所周知,稍大一些的软件工程都会有很多源文件,对数量如此庞大的源文件进行编译连接管理是一件很困难的事情,尤其是因程序中的错误而要多次重复做相同的管理工作时,更是诗人不厌其烦
为了摆脱上述窘境,现代开发工具都配有工程管理工具make.exe。该工具的功能是运行一种叫makefile的文件。该文件由软件开发者编写,并在其中说明了工程项目源文件的编译,连接步骤以及一些相应的管理工作步骤。这样,当用户需要时,便可以使用make启动工程管理工具make.exe,该工具就会去查找用户编写的makefile并执行它
必须指出,作为嵌入式系统的开发不能完全依赖IDE,因为嵌入式应用往往会有一些个性化需求,而IDE所产生的代码往往不能满足这些需求。所以,嵌入式设计必须要求程序设计人员必须事必躬亲,每一步设计工作都要心中有数。因而,对于嵌入式设计人员来说,如果不在一定程度上掌握make和makefile,那么就不可能开发出合格的嵌入式软件
3makefile结构
所谓的makefile文件就是用DOS命令写出来的一个文件,只不过这些命令表达了对工程文件的管理工作
一个makefile由若干个程序段组成,每个段都有一组用来完成工程管理工作的命令集。为了对程序段进行标注,程序段的前面必须有一个标号。不同的程序段需要关联时,在标号后面还可以有一个或者多个与程序段关联程序段的标号。每个关联标号前面都要带一个空格
程序段标号:关联程序段标号 1 关联程序段标号 2...
命令集
注意:命令集中的所有命令都必须以TAB键开头
makefile 代码:
##########################################
# 创建可执行文件(exe)
TEST.EXE:
TLINK @TESTLINK
##########################################
# 创建各个目标文件(OBJ)
PA.OBJ:
BCC -c -ml -IC:\BC\INCLUDE -LC:\BC\LIB PA.C
PB.OBJ:
BCC -c -ml -IC:\BC\INCLUDE -LC:\BC\LIB PB.C
TEST.OBJ:
BCC -c -ml -IC:\BC\INCLUDE -LC:\BC\LIB TEST.C
将上面的程序存为文件名makefile 注意,不需要扩展名
另外目录中要先建好 testlink文件 P21
依次输入 make pa.obj
make pb.obj
make test.obj
make
结论
makefile的首段是make.exe的默认执行段,而其他段地执行要在make命令中通过标号来指定。
为了提高可读性,在这个makefile中使用了文件名作为标号,而且这个文件名就是本程序段的命令即所要完成的目标。第一个程序段完成各个目标文件的连接,从而形成最终可执行文件TEST.EXE,而另外三个程序则分别完成了三个源文件的编译,从而形成了三个目标文件PA.OBJ PB.OBJ TEST.OBJ
先给一个成功以后所生成的全部文件
1.为什么要管理工具make和makefile
和使用连接文件testlink相似,BC也允许把源文件的编译及目标文件的连接全部工作写成一种叫makefile的文件,并提供了可以执行这种文件的工具make.exe实现了所谓的自动编译和连接
2.make工具
总所周知,稍大一些的软件工程都会有很多源文件,对数量如此庞大的源文件进行编译连接管理是一件很困难的事情,尤其是因程序中的错误而要多次重复做相同的管理工作时,更是诗人不厌其烦
为了摆脱上述窘境,现代开发工具都配有工程管理工具make.exe。该工具的功能是运行一种叫makefile的文件。该文件由软件开发者编写,并在其中说明了工程项目源文件的编译,连接步骤以及一些相应的管理工作步骤。这样,当用户需要时,便可以使用make启动工程管理工具make.exe,该工具就会去查找用户编写的makefile并执行它
必须指出,作为嵌入式系统的开发不能完全依赖IDE,因为嵌入式应用往往会有一些个性化需求,而IDE所产生的代码往往不能满足这些需求。所以,嵌入式设计必须要求程序设计人员必须事必躬亲,每一步设计工作都要心中有数。因而,对于嵌入式设计人员来说,如果不在一定程度上掌握make和makefile,那么就不可能开发出合格的嵌入式软件
3makefile结构
所谓的makefile文件就是用DOS命令写出来的一个文件,只不过这些命令表达了对工程文件的管理工作
一个makefile由若干个程序段组成,每个段都有一组用来完成工程管理工作的命令集。为了对程序段进行标注,程序段的前面必须有一个标号。不同的程序段需要关联时,在标号后面还可以有一个或者多个与程序段关联程序段的标号。每个关联标号前面都要带一个空格
程序段标号:关联程序段标号 1 关联程序段标号 2...
命令集
注意:命令集中的所有命令都必须以TAB键开头
makefile 代码:
##########################################
# 创建可执行文件(exe)
TEST.EXE:
TLINK @TESTLINK
##########################################
# 创建各个目标文件(OBJ)
PA.OBJ:
BCC -c -ml -IC:\BC\INCLUDE -LC:\BC\LIB PA.C
PB.OBJ:
BCC -c -ml -IC:\BC\INCLUDE -LC:\BC\LIB PB.C
TEST.OBJ:
BCC -c -ml -IC:\BC\INCLUDE -LC:\BC\LIB TEST.C
将上面的程序存为文件名makefile 注意,不需要扩展名
另外目录中要先建好 testlink文件 P21
依次输入 make pa.obj
make pb.obj
make test.obj
make
结论
makefile的首段是make.exe的默认执行段,而其他段地执行要在make命令中通过标号来指定。
为了提高可读性,在这个makefile中使用了文件名作为标号,而且这个文件名就是本程序段的命令即所要完成的目标。第一个程序段完成各个目标文件的连接,从而形成最终可执行文件TEST.EXE,而另外三个程序则分别完成了三个源文件的编译,从而形成了三个目标文件PA.OBJ PB.OBJ TEST.OBJ
相关文章推荐
- make管理工具和Makefile
- 交叉编译工具及 makefile工程管理工具
- Makefile 管理工具 — Automake and Autoconf
- Makefile 管理工具 — Automake and Autoconf
- Makefile 管理工具 — Automake and Autoconf
- Makefile 管理工具 — Automake and Autoconf
- 【待写】大型工程的Makefile管理与生成方案:ruby脚本+模块
- make工具的使用以及makefile
- *Linux C编程学习之开发工具3---多文件项目管理、Makefile、一个通用的Makefile
- 采用cbp2make工具由code::blocks工程创建makefile文件
- make工具及makefile
- make工具及makefile文件
- SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
- android开发教程(六)——环境搭建之工程管理工具ant
- linux makefile文件管理工程
- Eclipse中使用自己的makefile管理工程
- 在使automake autoconf 等工具管理的现有项目里增加自己源文件和静态库
- Makefile 实际用例分析(三) ------- 是用GUN automake 处理自己的工程
- vcxproj2makefile工具 将VC的工程文件转换成makefile,让nmake来调用
- 学习make工具的用法及makefile的写法