#############################
# Makefile - Estimator v2.1 #
#                           #
# Ju Li <liju99@mit.edu>    #
#############################

PROG = estimate

OPFLAGS = 

# SGI options

MACHFLAGS = -n32 -mips4 -r10000 -TARG:proc=r10000 -O3 -IPA \
-LNO:opt=1:fission=2:fusion=2:ou_further=3:pwr2=ON -OPT:fast_io=ON

FC = f90 
FFLAGS = $(OPFLAGS) $(MACHFLAGS)
FHEADER = 
FOBJS   = CG_MINIMIZER.o ESTIMATOR.o GENERATOR.o es.o

all:    $(PROG)

$(PROG):  $(FOBJS)
	$(FC) $(FFLAGS) -o $@ $(FOBJS)

CG_MINIMIZER.o: $(FHEADER) CG_MINIMIZER.f90
	$(FC) $(FFLAGS) -c CG_MINIMIZER.f90 -o CG_MINIMIZER.o

ESTIMATOR.o:  $(FHEADER) ESTIMATOR.f90
	$(FC) $(FFLAGS) -c ESTIMATOR.f90 -o ESTIMATOR.o

GENERATOR.o: $(FHEADER) GENERATOR.f90
	$(FC) $(FFLAGS) -c GENERATOR.f90 -o GENERATOR.o

es.o: $(FHEADER) es.f90
	$(FC) $(FFLAGS) -c es.f90 -o es.o

clean:
	rm -f *.o *.kmo *~

run:    $(PROG)
	@echo \\n ================== OUTPUT OF $(PROG) \< con \
	==================\\n
	@$(PROG) < con

SO = output
longrun: $(PROG)
	@if test -f $(SO);\
	then \
	 mv $(SO) $(SO).old; \
	fi
	@echo start time = `date` | tee $(SO)
	@echo \\n ================== OUTPUT OF $(PROG) \< con \
	==================\\n | tee -a $(SO)
	@timex nohup nice $(PROG) < con | tee -a $(SO); \
	echo end time = `date` | tee -a $(SO) &

kill:
	kill -9 `ps -e | grep $(PROG) | cut -c1-6`