感谢作者!
1. Dirs文件
关于Dirs文件,就是指定要编译的路径,这个地球人都知道。还是简单介绍一下。按照文档上面介绍有三种定义:DIRS,DIRS_CE和OPTIONAL_DIRS。
DIRS:就是指定要编译的目录。
DIRS_CE:只有目录下的源代码用于WinCE的映像文件时,才编译该目录。
OPTIONAL_DIRS:指定可以选择编译的目录。比如:OPTIONAL_DIRS=proj1,如果想编译proj1目录,可以设置BUILD_OPTIONS=proj1,然后运行build命令就可以了。
举个例子:
DIRS= common \
drivers \
oal \
bootloader
表示需要编译common,drivers,oal和bootloader目录。
DIRS=*
表示编译当前的所有目录。
2. Sources文件
在WinCE BSP中会看到很多sources文件,一般会和源代码放在同一个目录,当然不是绝对的。这些sources文件里面就是定义了一些宏,主要用于告诉 Build.exe在编译源代码的时候应该如何编译和链接,告诉Nmake.exe如何编译源代码以及最后生成什么类型的文件。
下面具体介绍一下:
TARGETNAME:最后编译完后生成的目标文件的名字,不包括扩展名。
LIBRARY,一个.lib文件
DYNLINK,一个.dll文件
PROGRAM,一个.exe文件
RELEASETYPE:该宏设置两个环境变量RELEASEDIR和RELEASELIBDIR,就是设置编译后生成文件存放的路径。具体值如下:
PLATFORM,生成的文件在PLATFORM\<BSP NAME>\<Target>
LOCAL,生成的文件在当前路径下
CUSTOM,生成的文件在TARGETPATH指定的位置
MANAGED,生成的文件在%_PROJECTROOT%\OAK\<Target>\Managed
OAK, SDK, DDK,生成的文件在%_PROJECTROOT%\Oak\<Target>
TARGETPATH: 当上面的RELEASETYPE=CUSTOM的时候,该宏指定路径
SOURCELIBS : 静态链接。函数的实体被链接过来,生成一份拷贝
TARGETLIBS : 动态链接。函数的地址被链接过来,系统执行时会加载该库
INCLUDES: 指定额外的要搜索的头文件的路径
SOURCES: 指定要被编译的文件
ADEFINES: 指定汇编器要使用的参数
CDEFINES: 指定编译器要使用的参数,指定传递给逼啊一起的DEFINE开关内容,用户之指定
LDEFINES: 指定连接器要使用的参数
RDEFINES: 指定资源编译器Rc.exe的参数
DLLENTRY : 指定dll的入口函数
EXEBASE : 指定生成EXE文件加载的及地址,默认为0x00010000
EXEENTRY: 指定EXE行文件的入口函数
WINCECPU : 用于说明为指定的CPU编译,这样被编译出来的目标文件会被放在_TGTCPU环境
WINCEMAP: 编译后生成一个.map文件,用于调试(是否生成MAP文件,默认为1)
WINCEOEM: 设置该值表示需要使用WinCE下的一些公用的库和头文件,该值一般在BSP中
WINCETARGETFILE0: 用于告诉编译系统在编译当前路径下的源码文件之前,要先由Build.exe编译
原文链接: https://www.cnblogs.com/jiegekaoyan/archive/2010/07/28/1787389.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/13169
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!