source文件里有一些语句不是很明白,欢迎指点!

最近想做24405.0到6.0的移植,在OAL编译过程中卡住了,始终有错误和警告。我尝试修改了source里面的一些语句发现错误就会改变,当然仍然存在。特提出此问:
在D:\WINCE600\PLATFORM\SMDK2440A\Src\Oal\Oallib下的SOURCE里面有这么一些语句:
TARGETNAME=oal
TARGETTYPE=LIBRARY
RELEASETYPE=PLATFORM
NOMIPS16CODE=1

CDEFINES=$(CDEFINES) -DCEDDK_USEDDKMACRO

!IF "$(BSP_USEDVS)" == "1"
CDEFINES=$(CDEFINES) -DDVS_EN
!ENDIF
后面的黑体字是什么意思啊?
还有在D:\WINCE600\PLATFORM\SMDK2440A\Src\Oal\Oalexe目录下的SOURCE文件里:
TARGETNAME=Oal
TARGETTYPE=PROGRAM
RELEASETYPE=PLATFORM
SYNCHRONIZE_DRAIN=1
NOMIPS16CODE=1

EXEENTRY=StartUp

LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO

NOLIBC=1
SOURCES=
黑体字是什么意思?
TARGETLIBS= \
    $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\oal.lib \   这句话是指将生成OAL.LIB放在D:\WINCE600\PLATFORM\SMDK2440A\lib文件下嘛?还是需要D:\WINCE600\PLATFORM\SMDK2440A\lib目录下的OAL.LIB这个静态库呢?
    $(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\nkstub.lib \
大家不要见笑,有些问题得搞清楚,嘿嘿~~~

感谢何宗健老师的解答!
CDEFINES=$(CDEFINES) -DCEDDK_USEDDKMACRO

CDEFINE是向C语言的编译器传输预定义宏,相当于你在代码里写#define  CEDDK_USEDDKMACRO


!IF "$(BSP_USEDVS)" == "1"
CDEFINES=$(CDEFINES) -DDVS_EN
!ENDIF

这一段是根据环境变量 BSP_USEDVS的值,判断是否要在CDEFINE里面添加DVS_EN宏。

LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO

这一句是给链接器传命令行参数。

最好可以详细的参考一下sources文件在msdn里面的说明。另外,最好的了解sources的文件的方法就是自己读$(_MAKEENVROOT)\makefile.def,不过前提是对makefile语法,编译器,链接器的命令行参数要熟悉。此外那个文件比较长。



你可能感兴趣的:(source)