makefile .mod 编译规则
makefile .mod compilation rule
我正在mod验证代码的 makefile。编译后,我看到生成了一些 *.mod 文件。在网上查找,我发现它们是 module 文件,但我没有看到它们的编译规则。我正在尝试更改生成这些文件的目录。我可以更改目标文件的规则,但找不到生成 *.mod 文件的规则。
查看生成文件,如果此文件中的一行生成它们或如何更改它们的目录,有人可以告诉我。这是生成文件:
# 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 文档 here:
You can use the module path compiler option to specify the directory
in which to create the module files. If you do not use this option,
module files are created in the current directory.
我正在mod验证代码的 makefile。编译后,我看到生成了一些 *.mod 文件。在网上查找,我发现它们是 module 文件,但我没有看到它们的编译规则。我正在尝试更改生成这些文件的目录。我可以更改目标文件的规则,但找不到生成 *.mod 文件的规则。
查看生成文件,如果此文件中的一行生成它们或如何更改它们的目录,有人可以告诉我。这是生成文件:
# 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 文档 here:
You can use the module path compiler option to specify the directory in which to create the module files. If you do not use this option, module files are created in the current directory.