我正在尝试编译具有以下结构的项目
项目:
而且我很难编写Makefile进行编译。我目前有以下命令:
Src1 = $(wildcard $(SRCDIR1)/*.cxx)
Obj1 = $(patsubst $(SRCDIR1)/%.cxx, $(OBJDIR)/%.o, $(Src1))
但是然后我很难为目标文件制定编译规则a)因为我不能再做:
$(Obj1): %.cxx
$(CXX) $(CFLAGS) -c $(@:.o=.cxx) -o $@
因为'$ @'命令现在包括构建目录的路径,并且b)因为先决条件现在包括构建路径,所以我应该有一个源路径。我已经阅读了制造手册的大部分内容,试图找到解决方法,但是没有运气。
任何解决方案的帮助表示赞赏!
插口
最佳答案
从个人经验来看,在玩过“原始” Makefile之后,我真的建议您使用一些工具为您构建Makefile,例如automake或cmake。
您仍然必须手动指定所有源文件-但至少我更喜欢手动摆弄Makefile。