工程管理工具make及makefile

来源:互联网 发布:东方财富数据接口破解 编辑:程序博客网 时间:2024/06/05 16:38

本文转自:http://zhangzhenyuan163.blog.163.com/blog/static/858193892011427104447462/

先给一个成功以后所生成的全部文件

工程管理工具make及makefile - engineerdream - engineerdream

 

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

工程管理工具make及makefile - engineerdream - engineerdream

 

  结论

   makefile的首段是make.exe的默认执行段,而其他段地执行要在make命令中通过标号来指定。

    为了提高可读性,在这个makefile中使用了文件名作为标号,而且这个文件名就是本程序段的命令即所要完成的目标。第一个程序段完成各个目标文件的连接,从而形成最终可执行文件TEST.EXE,而另外三个程序则分别完成了三个源文件的编译,从而形成了三个目标文件PA.OBJ PB.OBJ TEST.OBJ


原创粉丝点击