我在研究WINCE5.0按键驱动,有一个关于pddlist.cpp的编译
一直没有搞清楚,在这几个目录下都有这个文件
D:\WINCE500\PLATFORM\SMDK2410\SRC\DRIVERS\KEYBD\PDDLIST
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\DLL\KBD8042
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\DLL\KBD8042JPN1
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\DLL\KBD8042JPN2
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\DLL\KBD8042KOR
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\DLL\KBD8042US
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\NOP\PDDLIST
那么编译器是根据什么规则决定编译某一个或多个到kbdmouse.dll的?
感觉WINCE的驱动条理性还没有WINDWOS的清晰,可能是初学者吧!!
目录中的编译信息文件,如makefile,sources等
根据PB定制时,选择的组件,组件里面有对应的Variable作为环境变量,编译时,这些环境变量就决定哪些文件被实际编译连接。
是不是这样的,请大家指正一下:
1 在$(TARGETPLATROOT)\CESYSGEN\files\platform.bib中定义了
IF BSP_KBDMOUSE_EVBKPD
kbdmouse.dll $(_FLATRELEASEDIR)\KbdUs.dll NK SH
ENDIF
指明需要链接的驱动文件名为:KbdUs.DLL
2 在$(TARGETPLATROOT)\SRC\DRIVERS\KEYBD\KbdUS\sources中定义了需要进行
编译和链接的源文件
TARGETLIBS= \
$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib \
$(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\cspddk.lib
SOURCELIBS=\
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\BSPKeypad.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\LayoutManager.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\InputLang_0409.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\KeybdIst.lib \
$(_CSPCOMMONLIB)\$(_CPUINDPATH)\mx27_Keypad.lib \
$(_CSPCOMMONLIB)\$(_CPUINDPATH)\mx27_PddList.lib
这些LIB对应的.cpp文件就是要进行编译的源文件