All of the site dependent information such as compiler locations, compiler options, libraries, and linkers is contained in the file make.conf located in Socorro’s root directory. There are several examples contained in the makefiles directory to use as a guide.
Most of the variables are pretty obvious what they stand for but two critical variables MPLIBS and UPLIBS aren’t. The first MPLIBS (Multi-Processor Libraries) should contain all the libraries needed for Socorro, including MPI. The other, UPLIBS (UniProcessor Libraries), should NOT contain anything related to MPI. It is used for making some tools, such as taginfo, which is used for examining the contents of restart files.
Once you’ve made a stab at configuring make.conf you are ready to continue.
Variable | Definition |
---|---|
CC | C compiler |
CCFLAGS | C compiler flags |
CCINCS | Generic include directory for C header files |
F90 | Fortran 90 compiler and also linker |
F90FLAGS | Compile time flags for F90 code |
F90INCS | This is a macro listing all the F90 includes from the individual includes(F90MISCINCS MPIINCS LAPINCS FFTINCS) and is what is actually used in the other makefiles. |
F90MISCINCS | Generic F90 include directory |
F90MISCLIBS | Miscellaneous Libraries needed in order to make an executable |
FFTINCS | Location of FFTW include files |
FFTLIBS | FFTW Libraries and directory locations |
LAPINCS | Location of LAPACK or BLAS include files |
LAPLIBS | LAPACK and BLAS libraries. Order here is important. Normally LAPACK libraries should be listed before BLAS libraries. |
MPIINCS | Location of MPI header or include files |
MPILIBS | MPI libraries and directories |
MPLIBS | Macro listing all libraries required to build socorro. This contains MPI related libraries. The order is important. Typically this is just $(MPILIBS) $(FFTLIBS) $(LAPLIBS) $(F90MISCLIBS) |
UPLIBS | Macro listing all libraries to builds serial tools. Hence it doesn not include any MPI references. Typically this is $(FFTLIBS) $(LAPLIBS) $(F90MISCLIBS) |
« Required Packages | TOC | Running Configure »