-
Douglas Guptill authoredDouglas Guptill authored
Makefile.p690 3.54 KiB
# 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