.SUFFIXES: .f .java

ROOT=../../..
include $(ROOT)/make.def

BLAS=$(ROOT)/$(BLAS_DIR)/$(BLAS_JAR)
LAPACK=$(ROOT)/$(LAPACK_DIR)/$(LAPACK_JAR)
SMATGEN=$(ROOT)/$(SMATGEN_DIR)/$(SMATGEN_JAR)

tester: $(BLAS) $(LAPACK) $(SMATGEN) $(OUTDIR)/Slintest.f2j util
	/bin/rm -f `find $(OUTDIR) -name "*.class"`
	mkdir -p $(JAVASRC_OUTDIR)
	$(JAVAC) -classpath .:$(JAVASRC_OUTDIR):$(ROOT)/$(UTIL_DIR)/$(UTIL_JAR):$(SMATGEN):$(BLAS):$(LAPACK) -d $(JAVASRC_OUTDIR) $(OUTDIR)/$(SLINTEST_PDIR)/*.java
	/bin/rm -f $(JAVASRC_OUTDIR)/$(SLINTEST_PDIR)/*.old
	$(JAVAB) $(JAVASRC_OUTDIR)/$(SLINTEST_PDIR)/*.class
	/bin/rm -f $(SLINTEST_JAR)
	cd $(JAVASRC_OUTDIR); $(JAR) cvf ../$(SLINTEST_JAR) `find . -name "*.class"`
	$(JAR) uvf $(SLINTEST_JAR) `find org -name "*.class"`

$(OUTDIR)/Slintest.f2j:	slintest.f
	$(MAKE) nojar

$(BLAS):
	cd $(ROOT)/$(BLAS_DIR); $(MAKE) -f Makefile_javasrc

$(LAPACK):
	cd $(ROOT)/$(LAPACK_DIR); $(MAKE) -f Makefile_javasrc

$(SMATGEN):
	cd $(ROOT)/$(SMATGEN_DIR); $(MAKE) -f Makefile_javasrc

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

runtest:	tester
	$(JAVA) $(JFLAGS) -cp .:$(SLINTEST_JAR):$(SMATGEN):$(BLAS):$(LAPACK):$(ROOT)/$(UTIL_DIR)/$(UTIL_JAR) $(SLINTEST_PACKAGE).Schkaa < stest.in

verify: $(ROOT)/$(SLINTEST_IDX)
	cd $(JAVASRC_OUTDIR); $(JAVA) $(MORE_MEM_FLAG) -classpath .:..:$(JUSTICE):$(BCEL):$(ROOT)/../$(UTIL_DIR)/$(UTIL_JAR):$(ROOT)/../$(ERR_DIR)/$(ERR_JAR):$(ROOT)/../$(SMATGEN_DIR)/$(SMATGEN_JAR):$(ROOT)/../$(BLAS_DIR)/$(BLAS_JAR):$(ROOT)/../$(LAPACK_DIR)/$(LAPACK_JAR) $(VERIFY) $(SLINTEST_PDIR)/*.class

clean:
	/bin/rm -rf *.java *.class *.f2j org $(JAVASRC_OUTDIR) $(OUTDIR) $(SLINTEST_JAR)
