.SUFFIXES: .f .java

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

BLAS=$(ROOT)/$(BLAS_DIR)/$(BLAS_JAR)
LAPACK=$(ROOT)/$(LAPACK_DIR)/$(LAPACK_JAR)
MATGEN=$(ROOT)/$(MATGEN_DIR)/$(MATGEN_JAR)

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

$(OUTDIR)/Lintest.f2j:	lintest.f
	$(MAKE) nojar

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

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

$(MATGEN):
	cd $(ROOT)/$(MATGEN_DIR); $(MAKE) -f Makefile_javasrc

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

runtest:	tester
	$(JAVA) $(JFLAGS) -cp .:$(LINTEST_JAR):$(MATGEN):$(BLAS):$(LAPACK):$(ROOT)/$(UTIL_DIR)/$(UTIL_JAR) $(LINTEST_PACKAGE).Dchkaa < dtest.in

verify: $(ROOT)/$(LINTEST_IDX)
	cd $(JAVASRC_OUTDIR); $(JAVA) $(MORE_MEM_FLAG) -classpath .:..:$(JUSTICE):$(BCEL):$(ROOT)/../$(UTIL_DIR)/$(UTIL_JAR):$(ROOT)/../$(ERR_DIR)/$(ERR_JAR):$(ROOT)/../$(MATGEN_DIR)/$(MATGEN_JAR):$(ROOT)/../$(BLAS_DIR)/$(BLAS_JAR):$(ROOT)/../$(LAPACK_DIR)/$(LAPACK_JAR) $(VERIFY) $(LINTEST_PDIR)/*.class

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