【发布时间】:2011-04-05 10:44:49
【问题描述】:
我有一个项目分为多个模块,每个模块都托管在一个目录中,比如:
root
|_module_A
|_module.cpp
|_Makefile
|_module_B
|_Makefile
|_main.c
|_Makefile
main.c 依赖于与module_A 和module_B 相关的Makefile 中定义的目标。
我想针对两个模块的 Makefile 中定义的目标写我的 root/Makefile。
现在,我知道我可以使用include 指令,但这里的问题是module_A 和module_B 中的目标和文件名没有在它们的目录前面,所以我得到这样的东西:
make: *** No rule to make target `module.o', needed by `main.c'. Stop.
有解决这个问题的好方法吗?
谢谢。
【问题讨论】:
-
你想把目标文件放在哪里(例如
module.o)? -
在相关源文件的同一(子)目录中。