#=======================================================================
#  MASTER MAKEFILE FOR ZEUS-2D CODE
#
#-------------------  object files  ------------------------------------
OBJ =   bval.o     \
	bvalrad.o  \
	ct.o       \
	dataio.o   \
	derivs.o   \
	emfs.o     \
	findno.o   \
	fld.o      \
	ggen.o     \
	giccg.o    \
	gradv.o    \
	gravity.o  \
	hdfall.o   \
	intchk.o   \
	lorentz.o  \
	maxmin.o   \
	moment.o   \
	momx1.o    \
	momx2.o    \
	movie.o   \
	mprops.o   \
	msave.o    \
	mstart.o   \
	newgrid.o  \
	newvg.o    \
	newx1.o    \
	newx2.o    \
	nudt.o     \
	pdv.o      \
	pgas.o     \
	phibv.o    \
	printd.o   \
	restart.o  \
	rhs.o      \
	riccg.o    \
	setup.o    \
	srcstep.o  \
	strtoi.o   \
	stv1.o     \
	stv2.o     \
	stv3b3.o   \
	tav.o      \
	transprt.o \
	tranx1.o   \
	tranx2.o   \
	viscus.o   \
	vtos.o     \
	x1intfc.o  \
	x2intfc.o  \
	x1intzc.o  \
	x2intzc.o  \
	zeus2d.o   \
	bcdflt.o   \
	checkin.o  \
	linpck.o
#-------------------  macro definitions  -------------------------------
.SUFFIXES:
.SUFFIXES: .src .c .f .o
EXEDIR = ../exe/
SPEC   = special
PROB   = shkset
USER   = user
FC     = f77 
OPTS   = -c 
CC     = cc
LDR    = f77
LIB    = /usr/local/lib/libmfhdf.a /usr/local/lib/libdf.a \
	/usr/local/lib/libjpeg.a /usr/local/lib/libz.a
#--------------------  implicit rules  ---------------------------------
.src.o:
	/lib/cpp -P -traditional $< > $*.f
	${FC} ${OPTS} $*.f 
.c.o:
	${CC} -c ${OPTS} $<
#---------------------  targets  ---------------------------------------
help:
	@echo Type 'make compile' to generate ZEUS-2D executable
	@echo Type 'make clean'   to remove *.f and *.o files
#-----------------------------------------------------------------------
clean:
	rm *.o *.f
#-----------------------------------------------------------------------
compile: ${OBJ} ${PROB}.o ${SPEC}.o ${USER}.o
	${LDR} -o ${EXEDIR}zeus2d.exe ${OBJ} ${PROB}.o ${SPEC}.o \
	${USER}.o ${LIB}
