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

标签 linux shell makefile compilation gnu-make

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

相关文章:

linux - 我可以从我自己的 rpm 包中安装不同的包吗?

c++ - linux 正确的语法以通过配置传递 libstdc++.so.6 的自定义目录

linux - 在嵌入式 Linux 系统上设置时区

linux - GoogleTest CMake 无法识别 TEST_F : Like it's not recognizing GTest something

c++ - 在 OS X 上安装 twitcurl

linux - Makefiles输出目录

java - 使用 log4j 或 logrotate.d 轮转 Linux-Java 日志

shell - 从 shell 脚本调用 vim 命令

mysql - 使用 bash 查询远程 MySql 数据库

excel - Replace() 来自 Shell 的图像尺寸字符串中的问号