#=======================================================================
#
#
#  MAKEFILE FOR ZEUS-PP
#
#
#-------------------  macro definitions  -------------------------------
#
ZMP_CPP    = ${ZMP_FC}  -DTLB=128 -DUNROLL_I=4 -DUNROLL_J=4 -DUNROLL_K=4
ZMP_EXE    = ../exe/
ZMP_FC     = g77 -static -Wno-globals 
ZMP_OPTS   = -c -O3 -I/usr/include -I/n/thales2/vernaleo/lam/include
ZMP_CC     = gcc
ZMP_LDR    = ${ZMP_FC} -O3 -I/n/thales2/vernaleo/lam/include
ZMP_LIB    = -L/n/thales2/vernaleo/hdf/lib -L/n/thales2/vernaleo/lam/lib -ldl -lnsl -lutil -lmfhdf -ldf -ljpeg -lz -llamf77mpi -lmpi -llam -lpthread
ZMP_CPP    = ${ZMP_FC}  -DTLB=128 -DUNROLL_I=4 -DUNROLL_J=4 -DUNROLL_K=4
#should set to number of processors +1 for fastest compilation
MAKEOPTS='-j2'
#--------------------  implicit rules  ---------------------------------
#
.SUFFIXES: .F .for .c .o

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

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

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










