SYSGEN 的时候都做了什么操作

disciplinantwk 2011-01-18 04:26:53
对于public目录下的东西一直感觉很神秘,今天仔细看了下touch相关的部分:
有说错的地方请纠正,不胜感激。
======================================================================================================
1.在\WINCE600\PUBLIC\COMMON\OAK\DRIVERS 目录下有有个TOUCH目录,里面又分BASIC,TCHMAIN,TRNSCRBR三个目录
我们分别查看这三个目录中的sources文件发现BASIC里面要产生一个tchbasic.lib,TCHMAIN里面要产生一个tchmain.lib,
TRNSCRBR里面要产生一个tch_trns.lib;我们在命令行下把目录切换到\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\TOUCH目录下
键入“build -c”在\WINCE600\PUBLIC\COMMON\OAK\LIB\ARMV4I\RETAIL目录下可以找到sources文件指定要生成的相的.lib
文件。
2.SYSGEN 的过程我不是很熟悉,看过一些log,应该就是把\WINCE600\PUBLIC\COMMON\OAK\LIB\ARMV4I\RETAIL目录下的
.lib文件都拷贝到WINCE600\OSDesigns\S3C2440A\S3C2440A\Wince600\Traveler_ARMV4I\cesysgen\oak\lib\ARMV4I\retail
目录下面吧(懂的更多的请不吝赐教),但是我在这个目录下面已经找不到tchmain.lib文件了,而且好像多了tchmdd.lib
不知道这个tchmdd.lib是在什么地方定义生成的。
3.看了下SYSGEN的log,发现这个一个片段:
------------------------------------------------------------------------------
TARGETNAME: tchmdd
TARGETTYPE: LIBRARY
RELEASETYPE: OAK
TARGETLIBS:
SOURCELIBS: D:\WINCE600\public\common\oak\lib\ARMV4I\retail\tchmain.lib
D:\WINCE60\public\common\oak\lib\ARMV4I\retail\tchbasic.lib
DLLENTRY: CoreDllInit
makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
makefile.def: BUILDROOT is D:\WINCE600\public\common\cesysgen
makefile.def: Including D:\WINCE600\PUBLIC\COMMON\CESYSGEN\sources
makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
Directory: D:\WINCE600\PUBLIC\COMMON\CESYSGEN
--------------------------------------------------------------------------------
貌似是把tchmain.lib和tchbasic.lib合并成了tchmdd.lib放入了
\WINCE600\OSDesigns\S3C2440A\S3C2440A\Wince600\Traveler_ARMV4I\cesysgen\oak\lib\ARMV4I\retail 目录
若要生成DLL文件就相应的放入
\WINCE600\OSDesigns\S3C2440A\S3C2440A\Wince600\Traveler_ARMV4I\cesysgen\oak\target\ARMV4I\retail 目录
在什么地方定义了tchmain.lib和tchbasic.lib合并成tchmdd.lib呢?
...全文
143 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
unsway123 2011-01-18
  • 打赏
  • 举报
回复
结贴。。。。楼主
disciplinantwk 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 unsway123 的回复:]
C:\WINCE500\PUBLIC\COMMON\CESYSGEN\makefile(749)


tchmdd::
@set TARGETTYPE=LIBRARY
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set TARGETLIBS=
!IFDEF SYSGEN_TRANSCRIBER
@set SOURCELIB……
[/Quote]

呵呵,原来是CESYSGEN下的makefile
3q
disciplinantwk 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 unsway123 的回复:]
哦。。错了。。。看了下。应该是makefile文件
[/Quote]
什么错了?
disciplinantwk 2011-01-18
  • 打赏
  • 举报
回复
是什么机制来指挥SYSGEN过程使tchmain.lib和tchbasic.lib合成为tchmdd.lib的?
等待回答。。。
unsway123 2011-01-18
  • 打赏
  • 举报
回复
C:\WINCE500\PUBLIC\COMMON\CESYSGEN\makefile(749)


tchmdd::
@set TARGETTYPE=LIBRARY
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set TARGETLIBS=
!IFDEF SYSGEN_TRANSCRIBER
@set SOURCELIBS=$(SG_INPUT_LIB)\tchmain.lib $(SG_INPUT_LIB)\tch_trns.lib
echo touch includes transcriber hooks
!ELSE
@set SOURCELIBS=$(SG_INPUT_LIB)\tchmain.lib $(SG_INPUT_LIB)\tchbasic.lib
echo touch is minimal
!ENDIF
$(MAKECMD) /NOLOGO $(SG_OUTPUT_OAKLIB)\$@.lib
unsway123 2011-01-18
  • 打赏
  • 举报
回复
哦。。错了。。。看了下。应该是makefile文件
unsway123 2011-01-18
  • 打赏
  • 举报
回复
应该是.bat文件吧。。。。至于blddemo.exe肯定在你的安装文件里面。。估计在C盘。。编译也是需要工具的啊。
disciplinantwk 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jw212 的回复:]
sysgen需要调用sysgen.bat
其中又包含3个流程:
cesysgen.bat;---->和环境变量相关
cebasecesysgen.bat;----->Preproc,pass1,pass2
Nmake.exe;------> filter and linker
[/Quote]
是什么机制来指挥SYSGEN过程使tchmain.lib和tchbasic.lib合成为tchmdd.lib的?
(.bat真是看的头晕了)
disciplinantwk 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 unsway123 的回复:]
写logo嘛。。肯定是blddemo.exe出来的啊。。这个就是sysgen
[/Quote]
blddemo.bat 是有一个,但是blddemo.exe好像没发现啊。。。。
我很想知道是什么机制来指挥SYSGEN过程使tchmain.lib和tchbasic.lib为tchmdd.lib的,看log的话,很像一个sources文件的样子,但是到底是什么呢?(我真不知道应该怎么去goole这个问题)
希望高手不要不屑于回答。(我也是努力了很久的,看.bat看的头晕眼花)
jw212 2011-01-18
  • 打赏
  • 举报
回复
sysgen需要调用sysgen.bat
其中又包含3个流程:
cesysgen.bat;---->和环境变量相关
cebasecesysgen.bat;----->Preproc,pass1,pass2
Nmake.exe;------> filter and linker
unsway123 2011-01-18
  • 打赏
  • 举报
回复
写logo嘛。。肯定是blddemo.exe出来的啊。。这个就是sysgen
disciplinantwk 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 unsway123 的回复:]
只是简单的说下:你在定制系统的时候你选了很多的组件或者是删除了很多的组件,这样就等于删除和添加了许多的以sysgen_开头的环境变量,而啥意思跟就是以这最后定义的sysgen_开头的变量开始,和一些sysgen.bat文件将你说的lib都进行copy到relasese下,或者是将有些lib合并成一个lib
[/Quote]

tchmain.lib和tchbasic.lib的合成是在.bat里面的环境变量指挥进行的吗?
那段SYSGEN的log是.bat打印出来的还是build出来的?
unsway123 2011-01-18
  • 打赏
  • 举报
回复
我说的比较简单。。具体可以google。。网上相当详细对于这些概念性的东西
unsway123 2011-01-18
  • 打赏
  • 举报
回复
只是简单的说下:你在定制系统的时候你选了很多的组件或者是删除了很多的组件,这样就等于删除和添加了许多的以sysgen_开头的环境变量,而啥意思跟就是以这最后定义的sysgen_开头的变量开始,和一些sysgen.bat文件将你说的lib都进行copy到relasese下,或者是将有些lib合并成一个lib
disciplinantwk 2011-01-18
  • 打赏
  • 举报
回复
自己顶一下

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧