我正在尝试执行以下操作,其中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 - 多个SRCDIR文件夹,用于使用makefile进行编译,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53654321/

10-11 20:57