我正在尝试执行以下操作,其中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/