#======================================================================= # # # MAKEFILE FOR ZEUS-MP # # #------------------- macro definitions ------------------------------- # ZMP_EXE = ../exe/ ZMP_FC = ifort ZMP_OPTS3 = -c -O2 -axW -I/usr/include ZMP_OPTS0 = -c -O0 -I/usr/include ZMP_CC = icc ZMP_LDR = ${ZMP_FC} -O2 -axW -I/net/lam/include ZMP_LIB = -L/net/proj/guest/vernaleo/hdf_old/lib -L/net/lam/lib -ldl -lnsl -lutil -lmfhdf -ldf -ljpeg -lz -llamf77mpi -lmpi -llam -lpthread ZMP_CPP = ${ZMP_FC} -O2 -axW -DTLB=128 -DUNROLL_I=4 -DUNROLL_J=4 -DUNROLL_K=4 # #-------------------- implicit rules --------------------------------- # .SUFFIXES: .F .f .c .o .f.o: ${ZMP_CPP} -E $*.F | tr -s "" "\012" > $*.f ${ZMP_FC} ${ZMP_OPTS3} $*.f .F.o: ${ZMP_CPP} -E $*.F | tr -s "" "\012" > $*.f ${ZMP_FC} ${ZMP_OPTS3} $*.f zeusmp.o: ${ZMP_CPP} -E $*.F | tr -s "" "\012" > $*.f ${ZMP_FC} ${ZMP_OPTS0} $*.f msave.o: ${ZMP_CPP} -E $*.F | tr -s "" "\012" > $*.f ${ZMP_FC} ${ZMP_OPTS0} $*.f .c.o: ${ZMP_CC} ${ZMP_OPTS3} $< # #------------------- Fortran object files ---------------------------- # #rgjet #PHYS := ${PHYS} rgjet.o jetoff.o #radiative cooling PHYS := ${PHYS} rgjet.o jetoff.o rad_loss.o #viscosity and bubble #PHYS := ${PHYS} bubble.o kin_visc.o #viscosity and jet #PHYS := ${PHYS} jetoff.o jet_bubble.o kin_visc.o #STANDARD TEST CASES #Blast test #PHYS := ${PHYS} gravity.o gpbv.o blast.o #stblast test #PHYS := ${PHYS} gravity.o gpbv.o stblast.o #Blast tets? #PHYS := ${PHYS} gen_ak.o gravity.o hdfpart.o gpbv.o ran1rk.o blast.o #jet test #PHYS := ${PHYS} gravity.o gpbv.o jet.o #These base files should always be included BASE = advx1.o advx2.o advx3.o avisc.o avisc_d.o bndyflgs.o bval3d.o bvalemf.o clocks.o ct.o dataio.o diverg.o empty.o findno.o forces.o forces_d.o fourn.o ggen.o grdv.o hdfall.o hsmoc.o intchk.o lorentz.o lorentz_d.o maxmin.o mnmx.o momx1.o momx2.o momx3.o movie.o msave.o mstart.o newdt.o newgrid.o newvg.o newx1.o newx2.o nudt.o pdv.o pdv_d.o pressure.o printd.o restart.o setup.o spenergy.o srcstep.o strtoi.o transprt.o tranx1.o tranx2.o tranx3.o tslice.o zeusmp.o writeout.o textdmp.o linpck.o debug.o FOBJ = ${BASE} ${PHYS} # #------------------- C object files ---------------------------------- # COBJ = bcdflt.o checkin.o mmIsFinite.o mmIsNan.o # #--------------------- targets --------------------------------------- # help: @echo Type "'make help' to see this menu" @echo Type "'make compile to create executable @echo Type "'make clean' to remove '*.f' and '*.o' files" @echo Type "'make cleaner' to remove '*.f' '*.o' zeusmp.def" @echo " ${ZMP_EXE}zmp_inp ${ZMP_EXE}zeusmp.x" @echo Type "'make listing' to create listing of code" # #----------------------------------------------------------------------- # clean: echo "\rm -f *.o *.f" \rm -f *.o *.f # #----------------------------------------------------------------------- # cleaner: echo "\rm -f *.o *.f zeusmp.def ${ZMP_EXE}zmp_inp ${ZMP_EXE}zeusmp.x" \rm -f *.o *.f zeusmp.def ${ZMP_EXE}zmp_inp ${ZMP_EXE}zeusmp.x # #----------------------------------------------------------------------- # listing: echo "cat Makefile zeusmp.def *.h *.F *.c > listing" cat Makefile zeusmp.def *.h *.F *.c > listing # #----------------------------------------------------------------------- # compile: ${ZMP_EXE}zeusmp.x ${ZMP_EXE}zeusmp.x: ${FOBJ} ${COBJ} ${ZMP_LDR} -o ${ZMP_EXE}zeusmp.x ${FOBJ} ${COBJ} ${ZMP_LIB} # #---------------------- dependencies --------------------------------- # advx1.o: advx1.F bndry.h clocks.h field.h grid.h mpicom.h param.h root.h zeusmp.def advx2.o: advx2.F bndry.h clocks.h field.h grid.h mpicom.h param.h root.h zeusmp.def advx3.o: advx3.F bndry.h clocks.h field.h grid.h mpicom.h param.h root.h zeusmp.def avisc.o: avisc.F field.h grid.h param.h root.h scratch.h zeusmp.def avisc_d.o: avisc_d.F bndry.h clocks.h field.h grid.h mpicom.h param.h root.h zeusmp.def #blast.o: blast.F bndry.h cons.h field.h grid.h mod_names.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def #jet.o: jet.F bndry.h cons.h field.h grid.h mod_names.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def #stblast.o: stblast.F bndry.h cons.h field.h grid.h mod_names.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def bubble.o: bubble.F bndry.h cons.h field.h grid.h mod_names.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def writeout.o: writeout.F bndry.h cons.h field.h grid.h mod_names.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def kin_visc.o: kin_visc.F bndry.h cons.h field.h grid.h mod_names.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def jetoff.o: jetoff.F bndry.h cons.h field.h grid.h mod_names.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def jet_bubble.o: jet_bubble.F bndry.h cons.h field.h grid.h mod_names.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def bndyflgs.o: bndyflgs.F bndry.h grid.h param.h root.h zeusmp.def bval3d.o: bval3d.F bndry.h grid.h mpicom.h param.h root.h zeusmp.def bvalemf.o: bvalemf.F bndry.h grid.h mpicom.h param.h root.h zeusmp.def clocks.o: clocks.F clocks.h mod_names.h param.h zeusmp.def ct.o: ct.F field.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def dataio.o: dataio.F mpicom.h param.h root.h zeusmp.def diverg.o: diverg.F grid.h param.h zeusmp.def empty.o: empty.F zeusmp.def findno.o: findno.F zeusmp.def forces.o: forces.F cons.h field.h gravity.h grid.h mpicom.h opac.h param.h radexp.h root.h scratch.h zeusmp.def forces_d.o: forces_d.F bndry.h clocks.h field.h grid.h mpicom.h param.h radexp.h root.h scratch.h zeusmp.def fourn.o: fourn.F zeusmp.def #this was commented out for jet case #gen_ak.o: gen_ak.F zeusmp.def ggen.o: ggen.F bndry.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def gravity.o: gravity.F bndry.h field.h gravity.h grid.h mgmpi.h mpicom.h param.h root.h scratch.h zeusmp.def grdv.o: grdv.F cons.h field.h grid.h mpicom.h opac.h param.h radexp.h root.h zeusmp.def hdfall.o: hdfall.F cons.h field.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def #hdfpart.o: hdfpart.F cons.h field.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def hsmoc.o: hsmoc.F field.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def intchk.o: intchk.F clocks.h mod_names.h mpicom.h param.h root.h zeusmp.def lorentz.o: lorentz.F field.h grid.h param.h root.h scratch.h zeusmp.def lorentz_d.o: lorentz_d.F bndry.h clocks.h field.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def maxmin.o: maxmin.F param.h zeusmp.def mnmx.o: mnmx.F grid.h param.h scratch.h zeusmp.def momx1.o: momx1.F field.h grid.h param.h root.h scratch.h zeusmp.def momx2.o: momx2.F field.h grid.h param.h root.h scratch.h zeusmp.def momx3.o: momx3.F field.h grid.h param.h root.h scratch.h zeusmp.def movie.o: movie.F field.h grid.h param.h root.h zeusmp.def msave.o: msave.F bndry.h field.h gravity.h grid.h mpicom.h param.h root.h zeusmp.def mstart.o: mstart.F mpicom.h param.h root.h zeusmp.def newdt.o: newdt.F field.h grid.h param.h root.h scratch.h zeusmp.def newgrid.o: newgrid.F grid.h param.h root.h zeusmp.def newvg.o: newvg.F bndry.h field.h grid.h param.h root.h zeusmp.def newx1.o: newx1.F grid.h param.h root.h scratch.h zeusmp.def newx2.o: newx2.F grid.h param.h root.h scratch.h zeusmp.def nudt.o: nudt.F bndry.h clocks.h field.h grid.h mpicom.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def pdv.o: pdv.F field.h grid.h param.h root.h zeusmp.def pdv_d.o: pdv_d.F bndry.h clocks.h field.h grid.h mpicom.h param.h root.h zeusmp.def gpbv.o: gpbv.F bndry.h field.h gravity.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def pressure.o: pressure.F field.h grid.h mpicom.h param.h root.h zeusmp.def printd.o: printd.F cons.h field.h gravity.h grid.h mpicom.h param.h radexp.h root.h zeusmp.def #ran1rk.o: ran1rk.F zeusmp.def restart.o: restart.F bndry.h cons.h field.h gravity.h grid.h mgmpi.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def setup.o: setup.F bndry.h cons.h field.h gravity.h grid.h mgmpi.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def spenergy.o: spenergy.F field.h grid.h mpicom.h param.h root.h zeusmp.def srcstep.o: srcstep.F bndry.h clocks.h cons.h field.h grid.h mpicom.h opac.h param.h radexp.h radiation.h root.h scratch.h zeusmp.def strtoi.o: strtoi.F zeusmp.def transprt.o: transprt.F bndry.h field.h grid.h param.h root.h scratch.h zeusmp.def tranx1.o: tranx1.F bndry.h field.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def tranx2.o: tranx2.F bndry.h field.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def tranx3.o: tranx3.F bndry.h field.h grid.h mpicom.h param.h root.h scratch.h zeusmp.def tslice.o: tslice.F cons.h field.h gravity.h grid.h mpicom.h param.h radexp.h root.h scratch.h zeusmp.def zeusmp.o: zeusmp.F clocks.h field.h gravity.h grid.h impsoln.h mod_names.h mpicom.h options.h param.h radiation.h root.h scratch.h zeusmp.def textdmp.o: textdmp.F bndry.h cons.h field.h grid.h param.h radexp.h root.h scratch.h zeusmp.def linpck.o: linpck.F param.h zeusmp.def bcdflt.o: bcdflt.c zeusmp.def checkin.o: checkin.c zeusmp.def #fftw_ps.o: fftw_ps.c #fftwplan.o: fftwplan.c mmIsFinite.o: mmIsFinite.c mmIsNan.o: mmIsNan.c