unzip miniGhost-master.zip
cd /path/to/MINIGHOST/miniGhost-master/ref
mv Makefile Makefile.bak cp makefile.mpi.gnu Makefile
vi Makeflie
PROTOCOL = -D_MG_MPI MPI_LOC = /path/TO/OPENMPI MPI_INCLUDE = -I$(MPI_LOC)/include # State precision: -D_REAL4 and/or -D_REAL8. REAL_PRECISION = -D_MG_REAL8 # Integer precision: -D_INT4 and/or -D_INT8. INT_PRECISION = -D_MG_INT4 # Compilers FC=$(MPI_LOC)/bin/mpif90 CC=$(MPI_LOC)/bin/mpicc CFLAGS = $(PROTOCOL) $(REAL_PRECISION) $(INT_PRECISION) # C main calling Fortran subroutine: CFLAGS += -Df2c_ -fsigned-char CFLAGS += $(MPI_INCLUDE) FFLAGS = $(PROTOCOL) $(REAL_PRECISION) $(INT_PRECISION) # Optimization OPT_F =-O3 FFLAGS += $(OPT_F) #FFLAGS += $(MPI_INCLUDE) # Free-form Fortran source code: FFLAGS += -ffree-form -ffree-line-length-none # Array bounds checking: (expensive!) #FFLAGS += -fbounds-check # Compile to include checkpointing capability. FFLAGS += -D_MG_CHECKPT NCPATH= LNCDF=-L$(NCPATH)/lib LD=$(CC) LDFLAGS=$(CFLAGS) $(FFLAGS) -L/path/to/GNU/gcc9.1/lib64/ -lgfortran -L/path/to/OPENMPI/openmpi-4.0.1-gcc9.1/lib -lmpi_mpifh #LDFLAGS=$(CFLAGS) $(FFLAGS) #LDFLAGS=$(FFLAGS) LIBS= include make_targets
make
编译时不支持并行编译make -j,直接使用make进行编译。