znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
阅读:2668回复:3

在sources文件中支持跨目录编译

楼主#
更多 发布于:2008-12-24 16:35
 在DDK的BIN目录里,找到文件 makefile.new 找到字符串
{}.cpp{$O}.obj::
把整段复制下来,放到你的SOURCES目录里,改为
{SubDir\}.cpp{$O}.obj::
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2009-03-05 11:07
wdk 中需要从makefile.new中查找

{..\}.c{$(OBJ_PATH)\$O}.obj::


然后把这一段,去掉if后放到 sources文件中
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
板凳#
发布于:2009-03-05 11:41
比如,我的其它c文件在 ..\lib目录中,souces文件位于同级的 drv目录中,则在drv目录下的sources文件中写如下的语句

{..\lib\}.c{$(OBJ_PATH)\$O}.obj::
    $(C_COMPILER_NAME) @<<$(CL_RSP)
/Fo"$(OBJ_PATH)\$O/"
/FC
$(USECXX_FLAG)
$(EX_C_COMPILER_FLAGS)
$<
<<$(BUILD_NOKEEP)


SOURCES= xxx.c \
                       libxx.c    注意,这儿的libxx.c是 lib目录下的文件,不需要写明完整路径,所以一定不要重名
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
nfrdrive
驱动牛犊
驱动牛犊
  • 注册日期2010-10-12
  • 最后登录2013-12-17
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望301点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2011-01-30 10:35
感谢马哥分享!
不过这种方法是不是会报warning?
warnings in directory d:\driver func.c does not exist
游客

返回顶部