#************************************************************ # * # General makefile for the program Surfer3D (FORTRAN) * # * #************************************************************ # Define your shell SHELL=/bin/sh #*************************************************************** # WHERE TO FIND INCLUDE FILES AND NECESSARY LIBRARIES # # Location where to look for local include files SRCINC = ../include #GPLIB= -L/usr/local/lib -lgp GPLIB= -L$(HOME)/lib -lgpc # V5DLIB = -L/usr/local/lib -lv5d 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 #************************************************************ # BEGIN SECTION FOR LINUX # # Define machine type MACHINE=LINUX # Define extra compiling option OPTS= -DANSI -DFORTRANNOUNDERSCORE -DLINUX # Define compilers and flags FC = g77 # pathf90 # CC = gcc-3.4.5 # pathcc CFLAGS = -O3 -DLINUX -c -funroll-loops -mcpu=opteron -mcmodel=medium FFLAGS = -O3 -ffixed-line-length-132 -fno-second-underscore -mcmodel=medium -mcpu=opteron # -fno-automatic -finit-local-zero # flags for pressure alg. FPRES = -O3 -ffixed-line-length-132 -fno-second-underscore -mcmodel=medium -mcpu=opteron # -fno-automatic -finit-local-zero # #*************************************************************** # 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 " Surfer3D 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 ""