问一个makefile的目标文件依赖关系问题

combook 2016-07-06 09:09:42
假设目录结构如下:
/app/src/test.c
/app/src/test1.cpp
/app/Makefile
/build/

现在我需要在build/下编译该app(不想在源代码目录里生成目标文件)。
cd /build; make -C /app

在app/Makefile里通过gcc -MM -MT生成的depend文件内容如下:
/build/test.o: /app/src/test.c
/build/test1.o: /app/src/test1.cpp

但是gcc -MM -MT只会生成约束关系,而并不会指定如何去编译target(可能make的默认行为就是在目标文件的同目录下搜索同名源文件吧,并根据搜索到的源文件是c或c++而分别去调用gcc或g++),这时进行make则不会去编译/app/src/目录下的源文件。

有解决方案吗?(需注意要区分使用gcc和g++)
...全文
128 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
combook 2016-07-06
  • 打赏
  • 举报
回复
搞定了,不如专门写一个脚本来做最后的编译。

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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