Next: DL_MULTI
Up: The DL_POLY_2 Makefile
Previous: The DL_POLY_2 Makefile
  Contents
  Index
# Master makefile for DL_POLY_2.0
# Author: W. Smith November 1999
# With DPP tool by J. Geronowicz
# Original by T. Forester 1995
#
# $Author: wl $
# $Date: 2003/05/08 09:35:07 $
# $Revision: 1.10 $
# $State: Exp $
# Define default settings
#=======================================================================
FFTW_LIBRARY = ""
BINROOT = ../execute
CC = cc
DPP = ./dpp
EX = DLPOLY.X
EXE = $(BINROOT)/$(EX)
FC=undefined
PVM_EX=\'$(EX)\'
SHELL=/bin/sh
STRESS=STRESS
TYPE=3pt
# Define object files
#=====================================================================
OBJ_ALL = angfrc.o bndfrc.o cfgscan.o corshl.o coul0.o coul4.o \
coul2.o coul3.o conscan.o dblstr.o dcell.o diffsn0.o \
diffsn1.o dlpoly.o duni.o error.o ewald1.o ewald3.o \
exclude.o exclude_atom.o fldscan.o exclude_link.o \
exitcomms.o extnfld.o fbpfrc.o fcap.o forces.o freeze.o gauss.o \
gdsum.o getrec.o gimax.o gisum.o gstate.o images.o initcomms.o \
intlist.o intstr.o invert.o invfrc.o jacobi.o lowcase.o lrcmetal.o \
lrcorrect.o machine.o merge.o merge1.o merge4.o multiple.o \
multiple_nsq.o npt_b1.o nst_b1.o parset.o npt_h1.o nst_h1.o nve_1.o \
nvt_b1.o nvt_e1.o nvt_h1.o parlst_nsq.o parlink.o parlst.o passcon.o \
passpmf.o pmf_1.o pmf_shake.o primlst.o quench.o rdf0.o rdf1.o \
rdshake_1.o result.o revive.o scdens.o shellsort.o shlfrc.o \
shlmerge.o shlqnch.o shmove.o simdef.o splice.o static.o strip.o \
strucopt.o sysdef.o sysgen.o systemp.o sysbook.o sysinit.o \
tethfrc.o thbfrc.o timchk.o traject.o vertest.o vscaleg.o \
warning.o xscale.o zden0.o zden1.o
OBJ_SPME = bspcoe.o bspgen.o cpy_rtc.o ele_prd.o ewald_spme.o \
scl_csum.o set_block.o spl_cexp.o spme_for.o dlpfft3.o
OBJ_HKE = hkgen.o hkewald1.o hkewald2.o hkewald3.o hkewald4.o cerfr.o
OBJ_NEU = coul0neu.o coul2neu.o coul3neu.o excludeneu.o forcesneu.o \
multipleneu.o neutlst.o parneulst.o prneulst.o \
parlinkneu.o rdf0neu.o
OBJ_RIG = nptq_b1.o nptq_b2.o nstq_b1.o nstq_b2.o nptq_h1.o nptq_h2.o \
nstq_h1.o nstq_h2.o nveq_1.o nveq_2.o nvtq_b1.o nvtq_b2.o \
nvtq_h1.o nvtq_h2.o passquat.o qshake.o quatbook.o quatqnch.o
OBJ_RRR = denloc.o dihfrc.o erfcgen.o ewald2.o ewald4.o forgen.o \
fortab.o metgen.o srfrce.o srfrceneu.o suttchen.o
OBJ_4PT = denloc_4pt.o dihfrc_4pt.o erfcgen.o ewald2_4pt.o ewald4_4pt.o \
forgen.o fortab.o metgen.o srfrce_4pt.o srfrceneu_4pt.o \
suttchen_4pt.o
OBJ_RSQ = denloc_rsq.o dihfrc_rsq.o erfcgen_rsq.o ewald2_rsq.o ewald4_rsq.o \
forgen_rsq.o fortab_rsq.o metgen_rsq.o srfrce_rsq.o srfrceneu_rsq.o\
suttchen_rsq.o
OBJ_EXT = crecv.o csend.o gsync.o mynode.o nodedim.o numnodes.o
TIMER = etime.o
# Define targets
#=====================================================================
all:
@echo "Error - please specify a target machine!"
@echo "Permissible targets for this Makefile are:"
@echo " "
@echo "aix (serial)"
@echo "alpha-linux (serial)"
@echo "alpha-linux-fftw (serial)"
@echo "beowulf-absoft (parallel)"
@echo "cray-t3e (parallel)"
@echo "cray-t3e-serial (serial)"
@echo "cray-t3e-totalview (parallel)"
@echo "dec-alpha (serial)"
@echo "dec-alpha-ev6 (serial)"
@echo "exemplar (serial)"
@echo "hitachi-sr2201 (parallel)"
@echo "hp-c240 (serial)"
@echo "hpcx (parallel)"
@echo "hpcx-serial (serial)"
@echo "pentium-absoft (serial)"
@echo "pentium-portland (serial)"
@echo "pentium-portland-fftw (serial)"
@echo "rs6k (serial)"
@echo "rs6k-pwr3 (serial)"
@echo "sg10k (serial)"
@echo "sg10k-fftw (serial)"
@echo "sg2-r5k (serial)"
@echo "sg2k (serial)"
@echo "sg2k-i6.5 (serial)"
@echo "sg2k-shmem (parallel)"
@echo "sg2k-shmem-debug (parallel)"
@echo "sg8k-mpi (parallel)"
@echo "sg8k-mpi-f (parallel)"
@echo "sp2-mpi (parallel)"
@echo "sp2-mpi-debug (parallel)"
@echo "sp2-mpi-fftw (parallel)"
@echo "sun-ultra (serial)"
@echo " "
@echo "Please examine Makefile for details"
# system specific targets follow :
#================== HPCx SP Power 4 =======================================
hpcx: dpp
cp /usr/lpp/ppe.poe/include/mpif.h mpif.h
$(MAKE) LD="mpxlf -o" FC=mpxlf CC="cc -O -DNOC_"\
LDFLAGS="-O3 -qmaxmem=-1 -bmaxdata:0x80000000 -lessl" \
FFLAGS="-c -O3 -qmaxmem=-1 -qarch=pwr4 -qtune=pwr4 -qnosave" \
CPFLAGS="-D$(STRESS) -DMPI -DRS6000 -DESSL -I/usr/lpp/ppe.poe/include" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#================== HPCx SP Power 4 =======================================
hpcx-serial: dpp
$(MAKE) LD="xlf -o" FC=mpxlf CC="cc -O -DNOC_"\
LDFLAGS="-O3 -qmaxmem=-1 -bmaxdata:0x80000000 -lessl" \
FFLAGS="-c -O3 -qmaxmem=-1 -qarch=pwr4 -qtune=pwr4 -qnosave" \
CPFLAGS="-D$(STRESS) -DSERIAL -DRS6000 -DESSL" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#================== IBM SP2 version =======================================
sp2-mpi: dpp
cp /usr/lpp/ppe.poe/include/mpif.h mpif.h
$(MAKE) FC=mpxlf FFLAGS="-c -NS2048 -qarch=pwr2 -qnosave" \
CPFLAGS="-D$(STRESS) -DMPI -DESSL -D'POINTER=integer'" intlist.o
$(MAKE) LD="mpxlf -o" LDFLAGS="-lesslp2" FC=mpxlf \
FFLAGS="-c -O3 -NS2048 -qarch=pwr2 -qnosave" \
CPFLAGS="-D$(STRESS) -DMPI -DESSL -D'POINTER=integer'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#================== IBM SP2 debug version ==============================
sp2-mpi-debug: dpp
cp /usr/lpp/ppe.poe/include/mpif.h mpif.h
$(MAKE) LD="mpxlf -o" LDFLAGS="-lesslp2" FC=mpxlf \
FFLAGS="-g -c -C -NS2048 -qarch=pwr2 -qnosave" \
CPFLAGS="-D$(STRESS) -DMPI -DESSL -D'POINTER=integer'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#================== IBM SP2 FFTW version ===============================
sp2-mpi-fftw: dpp
cp /usr/lpp/ppe.poe/include/mpif.h mpif.h
$(MAKE) FC=mpxlf FFLAGS="-c -NS2048 -qarch=pwr2 -qnosave" \
CPFLAGS="-D$(STRESS) -DMPI -D'POINTER=integer' -DFFTW
$(MAKE) LD="mpxlf -o" LDFLAGS="-lesslp2 -lfftw -lrfftw -L$(FFTW_LIBRARY)" \
FC=mpxlf FFLAGS="-c -O3 -NS2048 -qarch=pwr2 -qnosave" \
CPFLAGS="-D$(STRESS) -DMPI -D'POINTER=integer' -DFFTW -DESSL" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#===== Cray t3e (Manchester) ===========================================
cray-t3e: dpp
cp /opt/ctl/mpt/mpt/include/mpif.h mpif.h
$(MAKE) FC="f90" FFLAGS="-c -dp -lmpi" \
CPFLAGS="-DCRAY -DCRAYT3D -D'POINTER=integer' -DSHMEM -D$(STRESS)" \
lowcase.o
$(MAKE) LD="f90 -o" FC="f90" FFLAGS="-c -dp -lmpi" LDFLAGS="-lmpi" \
CPFLAGS="-DCRAY -DCRAYT3D -D'POINTER=integer' \
-DSHMEM -D$(STRESS)" TIMER="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#===== Cray t3e (Manchester) with totalview flags ======================
cray-t3e-totalview: dpp
cp /opt/ctl/mpt/mpt/include/mpif.h mpif.h
$(MAKE) FC="f90" FFLAGS="-c -dp -lmpi -g -X8" \
CPFLAGS="-DCRAY -DCRAYT3D -D'POINTER=integer' -DSHMEM -D$(STRESS)" \
lowcase.o
$(MAKE) LD="f90 -o" FC="f90" FFLAGS="-c -dp -lmpi -g -X8" \
LDFLAGS="-lmpi -g -X8" \
CPFLAGS="-DCRAY -DCRAYT3D -D'POINTER=integer' \
-DSHMEM -D$(STRESS)" TIMER="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========== Cray t3e (serial) ===========================================
cray-t3e-serial: dpp
$(MAKE) LD="f90 -o" LDFLAGS="" FC=f90 \
FFLAGS="-c -dp -O3,aggress,unroll2,nojump" TIMER="" \
CPFLAGS="-D$(STRESS) -DSERIAL -P -D'POINTER=intger'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========== DEC Alpha ===================================================
dec-alpha: dpp
$(MAKE) LD="f90 -o" FC=f90 FFLAGS="-c -fast" \
LDFLAGS="-math_library fast -assume noaccuracy_sensitive" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer*8'" \
TIMER="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========== DEC Alpha ev6 ===============================================
dec-alpha-ev6: dpp
$(MAKE) LD="f90 -o" FC=f90 FFLAGS="-c -arch ev6 -fast" \
LDFLAGS="-arch ev6 -math_library fast -assume noaccuracy_sensitive" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer*8'" \
TIMER="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#======== Alpha Linux ===================================================
alpha-linux: dpp
$(MAKE) FC=fort FFLAGS="-c -O -fast" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer*8'" qshake.o
$(MAKE) FC=fort LD="fort -o" FFLAGS="-c -O -fast" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer*8'"\
LDFLAGS="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#======== Alpha Linux (plus SPME via FFTW) ==============================
alpha-linux-fftw: dpp
$(MAKE) FC=fort LD="fort -o" FFLAGS="-c -O -fast " \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer*8' -DFFTW" \
LDFLAGS="-L$(FFTW_LIBRARY) -lrfftw -lfftw " EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========= Convex/HP exemplar (serial) =================================
exemplar: dpp
$(MAKE) LD="f90 -o" LDFLAGS="" FC=f90 FFLAGS=" -c +ppu +O2 +DA2.0" \
CPFLAGS="-D$(STRESS) -DSERIAL" -D'POINTER-integer' \
TIMER="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========= HP PA 9000 / C240 (serial) ==================================
hp-c240: dpp
$(MAKE) LD="f90 -o" LDFLAGS= FC=f90 FFLAGS=" -c +ppu +O2 +DA2.0" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer'" \
TIMER="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#============= IBM (AIX) Workstation version =============================
aix: dpp
$(MAKE) FC=mpxlf FFLAGS="-c -NS2048 -qarch=pwr2 -qnosave" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer'" intlist.o
$(MAKE) LD="xlf -o" LDFLAGS="" FC=xlf FFLAGS="-c -O3 -NS2048 -qarch=pwr2 -qnosave"\
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========= RS/6000 P2SC (serial) =========================================
rs6k: dpp
$(MAKE) LD="xlf -o" LDFLAGS= FC=xlf \
FFLAGS="-c -O -qarch=pwr2 -qtune=pwr2" TIMER="" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========= RS/6000 Power3 (serial) =======================================
rs6k-pwr3: dpp
$(MAKE) LD="xlf -o" LDFLAGS="-L/usr/local/lib -lmass -lessl" \
FC=xlf FFLAGS="-c -O -qnosave -qarch=pwr3" TIMER="" \
CPFLAGS="-D$(STRESS) -DSERIAL" -DESSL -D'POINTER=integer' \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========== PentiumII (absoft) (serial) ==================================
pentium-absoft: dpp
$(MAKE) LD="/usr/bin/f90 -o" LDFLAGS="-lfio" TIMER="" \
FC=/usr/bin/f90 FFLAGS="-c -YEXT_NAMES=LCS -B108 -B100 -O" \
CPFLAGS="-D$(STRESS) -DSERIAL -P -D'POINTER=integer' " \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========== PentiumII (portland) (serial) (with FFTW) ===================
pentium-portland-fftw: dpp
$(MAKE) LD="/usr/local/pgi/linux86/bin/pgf90 -o" \
LDFLAGS="-L/usr/local/lib -lrfftw -lfftw -L/usr/pgi/linux86/lib " \
FC=/usr/local/pgi/linux86/bin/pgf90 \
FFLAGS="-c -fast -Mdalign -Msecond_underscore" \
CPFLAGS="-D$(STRESS) -DSERIAL -P -D'pointer=integer' -DFFTW" \
TIMER="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========== PentiumII (portland) (serial) ================================
pentium-portland: dpp
$(MAKE) LD="/usr/local/pgi/linux86/bin/pgf90 -o" LDFLAGS="" \
FC=/usr/local/pgi/linux86/bin/pgf90 FFLAGS="-c -O -Mdalign" \
CPFLAGS="-D$(STRESS) -DSERIAL -P -D'POINTER=integer'" \
TIMER="" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#======== Hitachi SR2201 Multiprocessor ==================================
hitachi-sr2201: dpp
cp /usr/include/mpif.h mpif.h
$(MAKE) FC=xf90 \
FFLAGS="-c -W0,'form(fixed),opt(o(3)),langlvl(save(0))' -s,TRACE" \
CPFLAGS="-D$(STRESS) -DMPI -D'POINTER=integer'" intlist.o
$(MAKE) LDFLAGS="" LDLIBS="-lfmpi -lmpi" LD="xf90 -o" FC=xf90 \
FFLAGS="-c -W0, 'form(fixed),opt(o(3)),langlvl(save(0))' -s,TRACE" \
CC=xcc TIMER="" CPFLAGS="-D$(STRESS) -DMPI
-D'POINTER=integer'" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#======== Silicon Graphics 10000 Worskstation ============================
sg10k: dpp
$(MAKE) LD="f90 -o" LDFLAGS="-lscs" \
FC=f90 FFLAGS="-c -O2 -OPT:Olimit=0 -lscs" TIMER="" \
CPFLAGS="-DSGICRAY -D$(STRESS) -DSERIAL -D'POINTER=integer'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#======== Silicon Graphics 10000 Worskstation (SPME via FFTW) ============
sg10k-fftw: dpp
$(MAKE) LD="f90 -o" LDFLAGS="-lscs -lfftw -lrfftw -L$(FFTW_LIBRARY)" \
FC=f90 FFLAGS="-c -O2 -OPT:Olimit=0 -lscs" TIMER="" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer' -DFFTW" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========= Silicon Graphics 8000 (parallel) ==========================
sg8k-mpi: dpp
cp /usr/include/mpif.h mpif.h
cp /usr/include/mpif_parameters.h mpif_parameters.h
$(MAKE) LD="f90 -O3 -64 -o" FC=f90 LDFLAGS="-lmpi" TIMER="" \
FFLAGS="-c -O3 -64 " CPFLAGS="-D$(STRESS) -DMPI \
-DSGICRAY -D'POINTER=integer'" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========= Silicon Graphics 8000 (parallel) ==========================
sg8k-mpi-f: dpp
cp /usr/include/mpif.h mpif.h
cp /usr/include/mpif_parameters.h mpif_parameters.h
$(MAKE) LD="f90 -Ofast -64 -o" FC=f90 LDFLAGS="-lmpi" TIMER=""\
FFLAGS="-c -Ofast -64" CPFLAGS="-D$(STRESS) -DMPI \
-DSGICRAY -D'POINTER=integer'" EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#======= Silicon Graphics Origin 2000 (parallel/SHMEM) ===============
sg2k-shmem: dpp
cp /usr/include/mpif.h mpif.h
cp /usr/include/mpif_parameters.h mpif_parameters.h
$(MAKE) LD="f90 -o" FC=f90 \
FFLAGS="-c -64 -mips4 -Ofast=ip27 -IPA -OPT:Olimit=0 " \
LDFLAGS="-64 -mips4 -Ofast=ip27 -IPA -OPT:Olimit=0 -lsma -lscs -lmpi -lblas" \
OBJ_EXT="gsync.o mynode.o nodedim.o numnodes.o" TIMER="" \
CPFLAGS="-D$(STRESS) -DSGISHMEM -DSGICRAY -D'POINTER=integer'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#======= Silicon Graphics Origin 2000 (parallel/SHMEM) ===============
sg2k-shmem-debug: dpp
cp /usr/include/mpif.h mpif.h
cp /usr/include/mpif_parameters.h mpif_parameters.h
$(MAKE) LD="f90 -o" FC=f90 \
FFLAGS="-c -64 -mips4 -g " \
LDFLAGS="-64 -mips4 -lsma -lscs -lmpi -lblas" \
OBJ_EXT="gsync.o mynode.o nodedim.o numnodes.o" TIMER="" \
CPFLAGS="-D$(STRESS) -DSGISHMEM -DSGICRAY -D'POINTER=integer'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========= Silicon Graphics Origin 2000 (serial) =====================
sg2k: dpp
$(MAKE) LD="f90 -o" LDFLAGS="-n32 -mips4" FC=f90 \
FFLAGS="-c -O3 -G 0 -mips4 -r10000 -c -r8 -n32" \
TIMER="" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer'" \
CFLAGS="-c -O3 -n32 -mips4 -r10000" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#=== Silicon Graphics Origin 2000 (serial, Irix 6.5) =================
sg2k-i6.5: dpp
$(MAKE) LD="f90 -o" LDFLAGS="-n32 -mips4 -IPA" \
FC=f90 FFLAGS="-c -n32 -mips4 -Ofast=ip27 -LNO:fusion=2" \
TIMER="" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer'" \
CFLAGS="-c -O3 -n32 -mips4 -r10000" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#=== Silicon Graphics O2 R5k (serial) ================================
sg2-r5k: dpp
$(MAKE) LD="f90 -o" LDFLAGS="-n32 -mips4" \
FC=f90 FFLAGS="-c -O3 -G 0 -mips4 -r5000 -c -r8 -n32" \
TIMER="" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer'" \
CFLAGS="-c -O3 -n32 -mips4 -r5000" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#======== Sun Ultra-2 (serial) =======================================
sun-ultra: dpp
$(MAKE) LD="/opt/SUNWspro/bin/f90 -o" LDFLAGS= \
FC=/opt/SUNWspro/bin/f90 \
FFLAGS="-c -fnonstd -xarch=v8plusa -xchip=ultra -O2 -libmil -dalign" \
TIMER="" \
CPFLAGS="-D$(STRESS) -DSERIAL -D'POINTER=integer'" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#========= Daresbury Beowulf (Absoft compiler) =======================
beowulf-absoft: dpp
cp /usr/local/lam-6.2/h/mpif.h mpif.h
$(MAKE) LD="/usr/bin/f90 -o" \
LDFLAGS="-L/home/kcm/mpich-absoft/mpich/lib/LINUX/ch_p4/ -lmpich" \
FC=/usr/bin/f90 FFLAGS="-c -O -B100" TIMER="" \
CPFLAGS="-D$(STRESS) -DMPI -P -D'POINTER=integer' \
-I/home/kcm/mpich-absoft/mpich/include" \
EX=$(EX) BINROOT=$(BINROOT) $(TYPE)
#=====================================================================
# Interpolation tables options
# Default code. Force tables interpolation in r-space 3pt interpolation
3pt: check $(OBJ_ALL) $(OBJ_RRR) $(OBJ_NEU) $(OBJ_RIG) $(OBJ_EXT) $(TIMER) $(OBJ_SPME) \
$(OBJ_HKE)
$(LD) $(EXE) $(OBJ_ALL) $(OBJ_RRR) $(OBJ_NEU) $(OBJ_RIG) $(OBJ_EXT) $(TIMER) \
$(LDFLAGS) $(LDLIBS) $(OBJ_SPME) $(OBJ_HKE)
# Force tables interpolation in r-space, 4pt interpolation
4pt: check $(OBJ_ALL) $(OBJ_4PT) $(OBJ_NEU) $(OBJ_RIG) $(OBJ_EXT) $(TIMER) $(OBJ_SPME) \
$(OBJ_HKE)
$(LD) $(EXE) $(OBJ_ALL) $(OBJ_4PT) $(OBJ_NEU) $(OBJ_RIG) $(OBJ_EXT) $(TIMER) \
$(LDFLAGS) $(LDLIBS) $(OBJ_SPME) $(OBJ_HKE)
# Force tables interpolation in r-squared
rsq: check $(OBJ_ALL) $(OBJ_RSQ) $(OBJ_NEU) $(OBJ_RIG) $(OBJ_EXT) $(TIMER) $(OBJ_SPME) \
$(OBJ_HKE)
$(LD) $(EXE) $(OBJ_ALL) $(OBJ_RSQ) $(OBJ_NEU) $(OBJ_RIG) $(OBJ_EXT) $(TIMER) \
$(LDFLAGS) $(LDLIBS) $(OBJ_SPME) $(OBJ_HKE)
#=====================================================================
# Check that a machine has been specified
check:
@if test $(FC) = "undefined";\
then echo "You must specify a target machine!"; \
exit 99;\
fi
#=====================================================================
# Clean up the source directory
clean:
rm -f $(OBJ_ALL) $(OBJ_RRR) $(OBJ_EXT) $(OBJ_NEU) $(OBJ_HKE) \
$(OBJ_RIG) $(TIMER) $(OBJ_SPME) $(OBJ_4PT) $(OBJ_RSQ) \
*.tmp.f mpif.h
#=====================================================================
# Compile preprocessor code
dpp: dpp.c
$(CC) dpp.c -o dpp
#=====================================================================
# Declare dependencies : c preprocess all .f files
.f.o:
$(DPP) $(CPFLAGS) $*.f > $*.tmp.f
$(FC) $(FFLAGS) $*.tmp.f
mv $*.tmp.o $*.o
.c.o:
$(CC) -c $*.c
#=====================================================================
# Declare dependency on parameters file
$(OBJ_ALL): dl_params.inc
$(OBJ_RRR): dl_params.inc
$(OBJ_4PT): dl_params.inc
$(OBJ_RSQ): dl_params.inc
$(OBJ_NEU): dl_params.inc
$(OBJ_RIG): dl_params.inc
$(OBJ_EXT): dl_params.inc
$(OBJ_SPME): dl_params.inc
$(OBJ_HKE): dl_params.inc
W Smith
2003-05-12