我正在尝试执行以下操作,其中 SRCDIRS 通过在 makefile 中执行以下操作来包含包含源代码的所有文件夹:
SRCDIRS := $(shell find $(SRCDIR) -type d )
$(OBJDIR)/%.o: $(SRCDIRS)/%.f90 Makefile
@$(F90) $(FFLAGS) $(POPTIONS) -o $@ $<
我的 make 文件似乎忽略了 %.o 规则? 我还有一个定义的 $(OBJS),其中包括我所有的 %.o 文件
最佳答案
您不能在 Make 中以这种方式“乘以”字符串。即使可以,您也会指定错误的路径。使用 vpath
:
vpath %.f90 $(SRCDIRS)
$(OBJDIR)/%.o: %.f90 Makefile
@$(F90) $(FFLAGS) $(POPTIONS) -o $@ $<
关于linux - 使用 makefile 进行编译的多个 SRCDIR 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53654321/