make工具最主要也是最基本的功能就是通过描述文件来描述源程序之间的相互关系并自动维护编译工作,而描述文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文件,并要求定义源文件之间的依赖关系,为了更方便使用,文件中同时可以用一些宏定义。描述文件一般需要包含以下内容:
● 注释
● 宏定义
● 显式规则
● 隐含规则
前些天一直在编译创维的机顶盒,开始接触到nmake,需要搭建一个最小的编译系统,然后各种查找资料,试图学习一下基础的nmake的使用,首先说一下自己对nmake的理解,nmake不同与gnumake 也就是Linux下的makefile,虽然nmake也是管理项目代码的工具,但是nmake更多的与一些exe工具和dat批处理文件打交道,最后需要额外强调的是nmake与Microsoft Visual Studio有着非常的致命的重要联系,这个你的源码无法编译成功可能就与此有关,需要补充的是,nmake的输出信息很容易迷惑人,有时没有报错的编译并不代表你编译是正确的!
下面先看一些简单的例子和基础知识:
在这里,首先为有关test.exe的例子写出一个描述文件,再逐步介绍各部分的书写语法。为了方便使用,一般都把描述文件的文件名取为默认文件名:makefile。这个例子的makefile文件如下(注意前面括号里的是行号,不是文件的真正内容):
(001) # nmake工具的描述文件例子
(002) EXE = Test.exe #指定输出文件
(003) OBJS = x.obj \
(004) y.obj #需要的目标文件
(005) RES = x.res &