免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2052 | 回复: 4
打印 上一主题 下一主题

一个makefile问题, 总是无法构建 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-01 22:59 |只看该作者 |倒序浏览

  1. # test
  2. RSC1_PATH = ./makefile2/APP1/Source/
  3. RSC2_PATH = ./makefile2/APP2/Source/
  4. RSC3_PATH = ./makefile2/APP3/Source/
  5. RSC4_PATH = ./makefile2/APP4/Source/
  6. RSC5_PATH = ./makefile2/APP5/Source/

  7. OBJ_PATH = ./makefile2/Objs/

  8. Module += $(OBJ_PATH)app1Main.obj $(OBJ_PATH)app2Main.obj $(OBJ_PATH)app3Main.obj $(OBJ_PATH)app4Main.obj $(OBJ_PATH)app5Main.obj


  9. vpath %.c $(RSC1_PATH) $(RSC2_PATH) $(RSC3_PATH) $(RSC4_PATH) $(RSC5_PATH)
  10. vpath %.obj $(OBJ_PATH)

  11. .SUFFIXES :
  12. .SUFFIXES : .obj .c .h .cpp

  13. .PHONY : update
  14. update : $(Module)
  15. .c.obj:
  16.         gcc -o $(OBJ_PATH)$@ -c $<
复制代码
这个文件保存成 mymakefile.mak
然后运行 make -f mymakefile.mak update ....

每次的提示如下:

make: *** No rule to make target `makefile2/Objs/app1Main.obj', needed by `updat
e'.  Stop.

这个后缀规则时这样用么? 为何不行呢?

论坛徽章:
0
2 [报告]
发表于 2010-11-02 10:18 |只看该作者
又努力了一个上午..还是搞不定..哪位高手帮帮手哇...

论坛徽章:
0
3 [报告]
发表于 2010-11-02 10:19 |只看该作者
即使我写成


  1. $(OBJ_PATH)app1Main.obj :
  2.         @echo "$^"
  3.         gcc -o $@ -c $^

复制代码
理论上make应该会根据隐含规则去找 app1Main.c 吧..可视 $^ 为空..根本没去找么..还是没找到?
我vpath有给search的路径呀...

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2010-11-02 11:30 |只看该作者
……
你还是autoscan、aclocal、autoconf、autoheader、Edit Makefile.am、automake 得了……
或者直接使用Anjuta 方便些

论坛徽章:
0
5 [报告]
发表于 2010-11-02 12:51 |只看该作者
不会用工具..也不想用..呵呵...
感觉还是自己写了对有些问题弄的才清楚些..
这个问题从昨晚弄到现在,还是没有一丝头绪...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP