#=======================================================================
#
#
#  MAKEFILE FOR ZEUS-PP
#
#
#-------------------  macro definitions  -------------------------------
#
ZMP_CPP    = /lib/cpp
ZMP_EXE    = ../exe/
ZMP_FC     = f77
ZMP_OPTS   = -c -O3 -g3 -64 -mips4 -r10000
ZMP_CC     = cc -c -g3 -64 -mips4
ZMP_LDR    = f77 -64 -mips4 -r10000
ZMP_LIB    = -L/afs/ncsa/packages/hdf/4.1r4-irix64-64/lib -ldf -ljpeg -lz
ZMP_CPP    = /lib/cpp
#--------------------  implicit rules  ---------------------------------
#
.SUFFIXES: .F .f .c .o

.f.o:
	${ZMP_CPP} -P -I../src/ $*.F | tr -s "" "\012" > $<
	${ZMP_FC} ${ZMP_OPTS} $<

.F.o:
	${ZMP_CPP} -P -I../src/ $< | tr -s "" "\012" > $*.f
	${ZMP_FC} ${ZMP_OPTS} $*.f

.c.o:
	${ZMP_CC} -I../src/ $<
#
#-------------------  Fortran object files  ----------------------------
#
FOBJ = zmp_pp.o diff.o hsplice.o splice.o
#
#-------------------  C object files  ----------------------------------
#
COBJ = 
#
#---------------------  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"
#
#-----------------------------------------------------------------------
#
clean:
	echo "\rm -f *.o *.f"
	\rm -f *.o *.f
#
#-----------------------------------------------------------------------
#
compile: ${ZMP_EXE}zmp_pp.x

${ZMP_EXE}zmp_pp.x: ${FOBJ} ${COBJ}
	${ZMP_LDR} -o ${ZMP_EXE}zmp_pp.x ${FOBJ} ${COBJ} ${ZMP_LIB}

#
#----------------------  dependencies  ---------------------------------
#
zmp_pp.o: zmp_pp.F ../src/param.h ../src/zeusmp.def 

diff.o: diff.F ../src/param.h ../src/zeusmp.def 

hsplice.o: hsplice.F ../src/grid.h ../src/mpicom.h ../src/param.h ../src/root.h ../src/zeusmp.def 

splice.o: splice.F ../src/grid.h ../src/mpicom.h ../src/param.h ../src/root.h ../src/zeusmp.def 

