# Define our compilers................................. # F90 = mpxlf90_r F77 = mpxlf_r CC = mpcc_r # Libraries................ # # libs removed on p690... # -lacml # -L/usr/lpp/X11 -lX11 \ # PGPLOT = /home/beaumnt1/software/pgplot-5.2.2-q64 # -L$(PGPLOT) -lpgplot \ LIBS = \ -LOCTREE -lOctree$(BITS) \ -LNN -lnn_f$(BITS) \ -LNN -lnn_c$(BITS) \ -LCASCADE -lcascade$(BITS) \ $(WSMP_LIB) \ -LRESAMPLE -lresample$(BITS) \ -lpthread -lhm -lhu -lm_r # The Makefiles look at compile output with this PAGER=more # wsmp lives here. # WSMP_DIR = /home/beaumnt1/software/wsmp/lib/Power4 # for 64 bit compile.................................. # AR =ar -X 64 BITS=-q64 OPTIONS = -b64 -bmaxdata:0x80000000 -bhalt:0 -bnoquiet WSMP_LIB = -L$(WSMP_DIR) -lpwsmp64 FLG64=-b64 # Define FORTRAN compiler flags....................... # # I would like to add -u here, but Wow! Just try it. # FLAGS = -O3 -qstrict -Q -qarch=auto -qtune=auto -qfloat=nomaf:nofold # Trouble on the p690; time to get serious. # douar bombs quickly; removing qflttrap=inexact # -qport options might be worth looking at later # -qwarn64 casues interesting messages in NN # # for xlf 8.1 # -qflttrap=overflow:underflow:zerodivide:invalid:enable # for xlf 10.1 # -qflttrap=overflow:underflow:zerodivide:invalid:NANQ:enable # # take -qextchk out for the final compile # Need -qhalt=s, else the compiler stops on the multiple errors from MPI calls. # For no optimzation, use "-O0" and remove "-qstrict" FFLAGS = -g -O2 -qstrict -Q $(BITS) $(FLG64) -qarch=auto -qtune=auto \ -qmaxmem=-1 \ -qcheck -qwarn64 \ -qfloat=nomaf:nofold:norsqrt:strictnmaf \ -qflttrap=overflow:underflow:zerodivide:invalid:NANQ:enable \ -qsigtrap -qnosave -qhalt=s -qextchk # Define C compiler flags............................. # # take -qextchk out for the final compile # For no optimzation, remove the "-O" option and remove "-qstrict" CFLAGS = -g -O2 -qstrict -Q $(BITS) $(FLG64) -qarch=auto -qtune=auto \ -qcheck -qwarn64 \ -qfloat=nomaf:nofold:norsqrt \ -qflttrap=overflow:underflow:zerodivide:invalid:enable \ -qhalt=e -qextchk # full speed ahead and damn the torpedos.................. # # FFLAGS = -O2 -qstrict -Q $(BITS) $(FLG64) -qarch=auto -qtune=auto \ # -qmaxmem=-1 \ # -qfloat=nomaf:nofold:norsqrt:strictnmaf \ # -qhalt=e # CFLAGS = -O2 -qstrict -Q $(BITS) $(FLG64) -qarch=auto -qtune=auto \ # -qfloat=nomaf:nofold:norsqrt \ # -qhalt=e # compile rules....................................... # COMPILE_OUT=$(NAME)$(BITS).compile .SUFFIXES: .SUFFIXES: .o .c .f .f90 .f90.o: @echo "--" >>$(COMPILE_OUT) 2>&1 @echo "OBJECT_MODE should be 64, is ${OBJECT_MODE}" >>$(COMPILE_OUT) 2>&1 @echo "xlf is `which xlf`" >>$(COMPILE_OUT) 2>&1 @echo "$(F90) -qsuffix=f=f90 $(FFLAGS) -c $<" >>$(COMPILE_OUT) 2>&1 $(F90) -qsuffix=f=f90 $(FFLAGS) -c $< >>$(COMPILE_OUT) 2>&1 .f.o: @echo "--" >>$(COMPILE_OUT) 2>&1 @echo "OBJECT_MODE should be 64, is ${OBJECT_MODE}" >>$(COMPILE_OUT) 2>&1 @echo "xlf is `which xlf`" >>$(COMPILE_OUT) 2>&1 @echo "$(F77) -qsuffix=f=f $(FFLAGS) -c $<" >>$(COMPILE_OUT) 2>&1 $(F77) -qsuffix=f=f $(FFLAGS) -c $< >>$(COMPILE_OUT) 2>&1 .c.o: @echo "--" >>$(COMPILE_OUT) 2>&1 @echo "OBJECT_MODE should be 64, is ${OBJECT_MODE}" >>$(COMPILE_OUT) 2>&1 @echo "$(CC) $(CFLAGS) -c $<" >>$(COMPILE_OUT) 2>&1 $(CC) $(CFLAGS) -c $< >>$(COMPILE_OUT) 2>&1