我经过一番努力编写了以下模式规则
%.o : $(addprefix $(SRCDIR),$(notdir $(@:.o=.f90)))
$(COMPILE) $(addprefix $(SRCDIR),$(notdir $(@:.o=.f90))) -o $@
SRCDIR
是找到相应源代码文件的位置。目标文件和源代码文件位于不同的目录中,目标文件名包含它们的路径。因此,对于每个目标文件,源代码文件名是通过文本替换获得的,并以 SRCDIR
为前缀。
我怎样才能更简洁地做到这一点?
谢谢。
最佳答案
您的问题有点不清楚,但也许这就是您正在寻找的:
$(OBJDIR)/%.o: $(SRCDIR)/%.f90
$(COMPILE) $< -o $@
关于makefile - 不同目录中文件的模式规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38110010/