#************************************************************ # * # General makefile for Surfer (FORTRAN MPI version) * # * #************************************************************ # Define your shell SHELL=/bin/sh #************************************************************ # BEGIN SECTION FOR LINUX # # Define machine type MACHINE=LINUX # Define your C compiler and flags CC= openmpicc CFLAGS = -O -c -I$(HOME)/include # Define extra compiling option OPTS= -DANSI -DLINUX -DHAVE_MPI # Define Fortran compiler and flags FC = openmpif77 FFLAGS = -O3 -ffixed-line-length-132 # -fno-second-underscore FPRES = -O3 -ffixed-line-length-132 # -fno-second-underscore FFLAGS = -O3 -ffixed-line-length-132 -funderscoring # -fno-second-underscore FPRES = -O3 -ffixed-line-length-132 -funderscoring # -fno-second-underscore # Define your C pre-processor (for FORTRAN file) CPP=cpp CPPFLAGS=-P # # END SECTION FOR LINUX #*************************************************************** # WHERE TO FIND INCLUDE FILES AND NECESSARY LIBRARIES # # Define the root directory where is Surfer3D ROOTDIR= # Location where to look for local include files SRCINC = ../include GPLIB= -L$(HOME)/lib -lgpcMPI SRCLIB= -L../source -lsrc # Name of library archiver and flags to send AR= ar ARFLAGS= r # Name of archive randomizer (use 'touch' if non-existant) RANLIB= touch # Name of remove utility RM= /bin/rm RMFLAGS= -f #*************************************************************** # Don't edit after this line #*************************************************************** DEFS = -DDEBUG #*** # Flags to be recursively sent #*** S3D_FLAGS = \ CC="$(CC)" \ CFLAGS="$(CFLAGS)" \ OPTS="$(OPTS)" \ FC="$(FC)" \ FFLAGS='$(FFLAGS)' \ FPRES='$(FPRES)' \ CPP="$(CPP)" \ CPPFLAGS='$(CPPFLAGS)' \ RANLIB="$(RANLIB)" \ AR="$(AR)" \ ARFLAGS="$(ARFLAGS)" \ RM="$(RM)" \ RMFLAGS="$(RMFLAGS)" \ HOME="$(HOME)" \ GPLIB="$(GPLIB)" \ SRCLIB="$(SRCLIB)" \ SRCINC="$(SRCINC)" \ DEFS="$(DEFS)" \ V5DLIB="$(V5DLIB)" # # General rules # all: @$(MAKE) $(MFLAGS) $(S3D_FLAGS) TARG=all \ SUBDIRS="source BC Main" msgbegin _sub msgend ftnchek: @$(MAKE) $(MFLAGS) $(S3D_FLAGS) TARG=$@ \ SUBDIRS=" Main source BC" msgfb _check msgfe clean: @$(MAKE) $(MFLAGS) $(S3D_FLAGS) TARG=clean \ SUBDIRS="Main BC source Test" _clean $(RM) $(RMFLAGS) core *.log output out.vcg _sub: @for dir in $(SUBDIRS); do \ (cd $$dir; echo Making \`$(TARG)\' in `pwd`; \ $(MAKE) $(MFLAGS) $(S3D_FLAGS) $(TARG)); \ done _check: $(RM) -f tot.f output out.vcg *.h @for dir in $(SUBDIRS); do \ (cd $$dir; echo Making \`$(TARG)\' in `pwd`; \ $(MAKE) $(MFLAGS) $(S3D_FLAGS) $(TARG)); \ done cp include/*.h . ftnchek -vcg tot.f > output fcl2vcg output > out.vcg $(RM) -f tot.f *.h _clean: @for dir in $(SUBDIRS); do \ (cd $$dir; echo Making \`$(TARG)\' in `pwd`; $(MAKE) clean); \ done msgbegin: @echo "" @echo "***********************************************************" @echo "" @echo " Compiling Surfer3D in $(ROOTDIR) for $(MACHINE) " @echo "" @echo "***********************************************************" @echo "" msgend: @echo "" @echo "***********************************************************" @echo "" @echo " Surfer (3D MPI) succesfully created for $(MACHINE) " @echo "" @echo "***********************************************************" @echo "" msgfb: @echo "" @echo "***********************************************************" @echo "" @echo " Fortran check for $(MACHINE) " @echo "" @echo "***********************************************************" @echo "" msgfe: @echo "" @echo "***********************************************************" @echo "" @echo " End of fortran check for $(MACHINE) " @echo "" @echo "***********************************************************" @echo ""