繁体   English   中英

makefile .mod编译规则

[英]makefile .mod compilation rule

我正在修改代码的makefile。 编译后,我看到生成了一些* .mod文件。 在网上查看时,我发现它们是模块文件,但没有看到针对它们的编译规则。 我正在尝试更改在其中生成这些文件的目录。 我可以更改目标文件的规则,但是找不到生成* .mod文件的规则。

查看makefile,有人可以建议我该文件中的一行是否生成它们,或者如何更改其目录。 这是makefile:

   # GNU Makefile

   # Paths
   SDIR=./solver
   ODIR=./obj
   _CASE=./WorkCases/problem
   CASE=$(SDIR)/$(_CASE)
   TOP = .  

   FC      =       ifort

   FFLAGS          =       -fpp -O1 -DPTR_INTEGER8 -warn nousage

   # Define rule to make .f90
   $(ODIR)/%.o : $(SDIR)/%.f90 
    $(FC) -c $(FFLAGS) $< -o $@


   # set executable name
   EXEC = $(dir ${CASE})/$(basename $(notdir ${CASE})).out


   # shared global variables
   _SHARED_OBJ =    shared_modules.o main_vars.o debug_vars.o
   SHARED_OBJ = $(patsubst %,$(ODIR)/%,$(_SHARED_OBJ))

   OBJ     =  ${_SHARED_OBJ} $(_CASE).PARAMS.o 
   OBJ = $(patsubst %,$(SDIR)/%,$(_OBJ))

   MAIN_OBJ = $(ODIR)/main.o


   main : ${SHARED_OBJ} $(OBJ) $(MAIN_OBJ) 
    $(FC) ${FFLAGS} $(OBJ) $(MAIN_OBJ) -o $(EXEC) -lstdc++ -shared-intel

您可以使用-module编译器选项为.mod文件指定目标目录。

-module <directory> 

请在此处查看ifort文档:

您可以使用模块路径编译器选项来指定在其中创建模块文件的目录。 如果不使用此选项,则在当前目录中创建模块文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM