# FLASH makefile definitions for the Intel 64-bit ifort compilers on Linux # Modified version from the NCSA Itanium cluster (titan) #---------------------------------------------------------------------------- # Set the HDF/HDF5 library paths -- these need to be updated for your system #---------------------------------------------------------------------------- HDF4_PATH = HDF5_PATH = /home/opt/hdf5-1.4.3 # HDF5_PATH = /home/opt/hdf5-1.6.4/hdf5 ZLIB_PATH = PAPI_PATH = PAPI_FLAGS = NCMPI_PATH = MPE_PATH = #---------------------------------------------------------------------------- # Compiler and linker commands # # We use the f90 compiler as the linker, so some C libraries may explicitly # need to be added into the link line. #---------------------------------------------------------------------------- FCOMP = /home/opt/intel_fc_81/bin/ifort CCOMP = /home/opt/intel_cc_81/bin/icc # CCOMP = /usr/bin/gcc CPPCOMP = /home/opt/intel_cc_81/bin/icpc LINK = /home/opt/intel_fc_81/bin/ifort #FCOMP = mpif90 #CCOMP = mpicc #CPPCOMP = mpiCC #LINK = mpif90 # pre-processor flag PP = -D #---------------------------------------------------------------------------- # Compilation flags # # Three sets of compilation/linking flags are defined: one for optimized # code, one for testing, and one for debugging. The default is to use the # _OPT version. Specifying -debug to setup will pick the _DEBUG version, # these should enable bounds checking. Specifying _TEST is used for # flash_test, and is set for quick code generation, and (sometimes) # profiling. The Makefile generated by setup will assign the generic token # (ex. FFLAGS) to the proper set of flags (ex. FFLAGS_OPT). #---------------------------------------------------------------------------- FFLAGS_OPT = -c -r8 -i4 -O0 -u -I. -I/home/opt/mpich-1.2.6/include # FFLAGS_OPT = -c -r8 -i4 -u -nopad -fno-alias -IPF_flt_eval_method0 -O0 -zero -I. -I/home/opt/mpich-1.2.6/include FFLAGS_DEBUG = -c -r8 -i4 -g -V -u -I. -I/home/opt/mpich-1.2.6/include FFLAGS_TEST = -c -r8 -i4 CFLAGS_OPT = -c -O0 -I/home/opt/mpich-1.2.6/include # CFLAGS_OPT = -c -tpp2 -fPIC -no-gcc -ansi -D_GNU_SOURCE -I/home/opt/mpich-1.2.6/include CFLAGS_DEBUG = -c -g -V -I/home/opt/mpich-1.2.6/include CFLAGS_TEST = -c -O2 CFLAGS_HDF5 = -I$(HDF5_PATH)/include CFLAGS_NCMPI = #---------------------------------------------------------------------------- # Linker flags # # There is a seperate version of the linker flags for each of the _OPT, # _DEBUG, and _TEST cases. #---------------------------------------------------------------------------- # LFLAGS_OPT = -r8 -i4 -Vaxlib -Qoption,link,--noinhibit-exec -o LFLAGS_OPT = -r8 -i4 -Vaxlib -o LFLAGS_DEBUG = -r8 -i4 -Vaxlib -g -o LFLAGS_TEST = -r8 -i4 -Vaxlib -o #---------------------------------------------------------------------------- # Library specific linking # # If a FLASH module has a 'LIBRARY xxx' line in its Config file, we need to # create a macro in this Makefile.h for LIB_xxx, which will be added to the # link line when FLASH is built. This allows us to switch between different # (incompatible) libraries. We also create a _OPT, _DEBUG, and _TEST # library macro to add any performance-minded libraries (like fast math), # depending on how FLASH was setup. #---------------------------------------------------------------------------- # LIB_HDF4 = -L$(HDF4_PATH)/lib -lmfhdf -ldf -lz -ljpeg LIB_HDF5 = -L/usr/local/lib -lhdf5 \ -L /usr/lib -lz #LIB_HDF5 = -L$(HDF5_PATH)/lib -lhdf5 \ # -L/usr/lib -lz # removed -lvmi from LIB_OPT/DEBUG because for some reason not installed LIB_OPT = -L/home/opt/mpich-1.2.6/lib -lmpich \ -L/usr/lib -lpthread -ldl LIB_DEBUG = -L/home/opt/mpich-1.2.6/lib -lmpich \ -L /usr/lib -lpthread -ldl LIB_TEST = LIB_NCMPI = LIB_MPE = #---------------------------------------------------------------------------- # Additional machine-dependent object files # # Add any machine specific files here -- they will be compiled and linked # when FLASH is built. #---------------------------------------------------------------------------- MACHOBJ = #---------------------------------------------------------------------------- # Additional commands #---------------------------------------------------------------------------- MV = mv -f AR = ar -r RM = rm -f CD = cd RL = ranlib ECHO = echo