您的位置:首页 > 其它

工程管理工具make及makefile

2013-08-03 10:22 253 查看
本文转自: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: