【发布时间】:2013-08-16 04:53:55
【问题描述】:
我正在尝试编译具有以下结构的项目
项目:
- 制作文件
- 可执行文件
- 来源1
- .cxx
- .h
- 来源2
- .cxx
- .h
- 构建
- *.o
而且我在编写 Makefile 进行编译时遇到了困难。我目前有如下命令:
Src1 = $(wildcard $(SRCDIR1)/*.cxx)
Obj1 = $(patsubst $(SRCDIR1)/%.cxx, $(OBJDIR)/%.o, $(Src1))
但是我很难为目标文件制定编译规则 a) 因为我不能再这样做了:
$(Obj1): %.cxx
$(CXX) $(CFLAGS) -c $(@:.o=.cxx) -o $@
因为 '$@' 命令现在包括构建目录的路径,并且 b) 因为先决条件现在包括构建路径,我应该有一个源路径。我已阅读大量制作手册以尝试找到解决方案,但没有运气。 对解决方案的任何帮助表示赞赏! 杰克
【问题讨论】:
-
谢谢马克西姆,这是一个很好的答案。但是,我遇到的主要困难是将所有目标代码构建到 BUILD 目录中,因为它们存在于 SRC 目录中。杰克