使用 makefile 进行编译的多个 SRCDIR 文件夹

Multiple SRCDIR folders for compilation using makefile

我正在尝试执行以下操作,其中 SRCDIRS 通过在 makefile 中执行以下操作来包含包含源代码的所有文件夹:

SRCDIRS        := $(shell find $(SRCDIR) -type d )


$(OBJDIR)/%.o: $(SRCDIRS)/%.f90 Makefile
       @$(F90) $(FFLAGS) $(POPTIONS) -o $@ $<                      

我的 make 文件似乎忽略了 %.o 规则? 我还有一个定义的 $(OBJS),其中包括我所有的 %.o 文件

您不能 "multiply" 在 Make 中那样使用字符串。即使可以,您也会指定错误的路径。使用 vpath:

vpath %.f90 $(SRCDIRS)

$(OBJDIR)/%.o: %.f90 Makefile
   @$(F90) $(FFLAGS) $(POPTIONS) -o $@ $<