.PHONY:	DUMMY util
.SUFFIXES: .f .java

ROOT=../../..

include $(ROOT)/make.def

BLAS=$(ROOT)/$(BLAS_IDX)
LAPACK=$(ROOT)/$(LAPACK_IDX)
SMATGEN=$(ROOT)/$(SMATGEN_IDX)

XERBLAFLAGS= -c .:$(ROOT)/$(BLAS_OBJ) -p $(ERR_PACKAGE)
F2JFLAGS=-c .:$(OUTDIR):linsrc/$(OUTDIR):$(ROOT)/$(BLAS_OBJ):$(ROOT)/$(ERR_OBJ):$(ROOT)/$(LAPACK_OBJ):$(ROOT)/$(SMATGEN_OBJ) -p $(SLINTIME_PACKAGE) -o $(OUTDIR)

TIMER_CLASSPATH=-cp .:./obj:$(ROOT)/$(ERR_OBJ):linsrc/$(OUTDIR):$(ROOT)/$(SMATGEN_OBJ):$(ROOT)/$(BLAS_OBJ):$(ROOT)/$(LAPACK_OBJ):$(ROOT)/$(UTIL_DIR)/$(UTIL_JAR)

timer: $(BLAS) $(LAPACK) $(SMATGEN) linsrc/$(OUTDIR)/Slinsrc.f2j $(OUTDIR)/Slintime.f2j util 
	/bin/rm -f $(SLINTIME_JAR)
	cd linsrc/$(OUTDIR); $(JAR) cvf ../../$(SLINTIME_JAR) `find . -name "*.class"`
	cd $(OUTDIR); $(JAR) uvf ../$(SLINTIME_JAR) `find . -name "*.class"`

linsrc/$(OUTDIR)/Slinsrc.f2j: linsrc/slinsrc.f
	cd linsrc;$(MAKE)

$(OUTDIR)/Slintime.f2j:	$(OUTDIR)/Lsamen.f2j slintime.f
	$(F2J) $(F2JFLAGS) slintime.f > /dev/null

$(OUTDIR)/Lsamen.f2j:   lsamen.f
	$(F2J) $(F2JFLAGS) $< > /dev/null

$(BLAS):
	cd $(ROOT)/$(BLAS_DIR); $(MAKE)

$(LAPACK):
	cd $(ROOT)/$(LAPACK_DIR); $(MAKE)

$(SMATGEN):
	cd $(ROOT)/$(SMATGEN_DIR); $(MAKE)

util:
	cd $(ROOT)/$(UTIL_DIR); $(MAKE)

runtimer: small

small:	timer s*.in

large:	timer input_files_large/S*.in

*.in:	DUMMY
	java $(MORE_MEM_FLAG) $(TIMER_CLASSPATH) $(SLINTIME_PACKAGE).Stimaa < $@

input_files_large/*.in:	DUMMY
	java $(MORE_MEM_FLAG) $(TIMER_CLASSPATH) $(SLINTIME_PACKAGE).Stimaa < $@

clean:
	cd linsrc;$(MAKE) clean
	/bin/rm -rf *.java *.class *.f2j $(OUTDIR) $(SLINTIME_JAR)
