.SUFFIXES: $(SUFFIXES) .jar .java .class
        THREADS_FLAG=green
             OPTIONS=-O -deprecation -d .
#            OPTIONS=
            CML_HOME=/home/egonw/bin/org.openscience.asterix
         JREFERENCES=${CML_HOME}/references
           JAVA_LIBS=/home/egonw/bin/javalibs
           JAVA_HOME=/usr/local/jdk1.2
               JAVAC= $(JAVA_HOME)/bin/javac -${THREADS_FLAG}
                JAVA= $(JAVA_HOME)/bin/java -${THREADS_FLAG}
             JAVADOC= $(JAVA_HOME)/bin/javadoc -${THREADS_FLAG}
               JIKES= /usr/bin/jikes
           CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${CML_HOME}:${JAVA_LIBS}/sax.jar:${JAVA_LIBS}/aelfred.jar:${JREFERENCES}/mysql.jar
#
#
SOURCE = org/openscience/references/GetReferences.java \
         org/openscience/references/DTDResolver.java \
         org/openscience/references/DocBookRef.java \
         org/openscience/references/DocBookJournal.java \
         org/openscience/references/DocBookAuthor.java \
         org/openscience/references/DocBookRefsHandler.java \
         org/openscience/references/SetReferences.java \
         org/openscience/references/DocBookRefExpander.java \
         org/openscience/references/NumberReferences.java \
         org/openscience/references/CreateDatabase.java \
         org/openscience/references/ClearDatabase.java

CLASSES = org/openscience/references/GetReferences.class \
          org/openscience/references/DTDResolver.class \
          org/openscience/references/DocBookRef.class \
          org/openscience/references/DocBookJournal.class \
          org/openscience/references/DocBookAuthor.class \
          org/openscience/references/DocBookRefsHandler.class \
          org/openscience/references/SetReferences.class \
          org/openscience/references/DocBookRefExpander.class \
          org/openscience/references/NumberReferences.class \
 	  org/openscience/references/CreateDatabase.class \
 	  org/openscience/references/ClearDatabase.class

# 
# Some rulesets for compilation
#
# standard java files
#
%.class: %.java
	@echo "compiling $*"
	@$(JIKES) ${OPTIONS} -classpath $(CLASSPATH) -g $<

all: get

archive: $(CLASSES)
	@/bin/rm -f references.jar
	@$(JAVA_HOME)/bin/jar -cf references.jar org/openscience/references/*.class VERSION.txt LICENSE.txt
	@echo; cp references.jar ~/data/OpenScience/jreference/jreference/.
 
source: ${SOURCE}
	@echo "making source distro..."
	@tar cvf references_source.tar ${SOURCE} Makefile VERSION.txt LICENSE.txt
	@gzip references_source.tar

distro: clean archive
	@echo "making distribution..."
	@mkdir jreferences
	@cp *.jar *.txt Makefile *.dtd *.dbx jreferences
	@tar cvf jreferences_`cat VERSION`.tar jreferences/
	@gzip jreferences_`cat VERSION`.tar
	@rm -R jreferences

get:
	@echo "running GetReferences..."
	@$(JAVA_HOME)/bin/java -classpath $(CLASSPATH):./references.jar org.openscience.references.GetReferences

set:
	@echo "running SetReferences..."
	@$(JAVA_HOME)/bin/java -classpath $(CLASSPATH):./references.jar org.openscience.references.SetReferences references.dbx

number: 
	@$(JAVA_HOME)/bin/java -classpath $(CLASSPATH):./references.jar org.openscience.references.NumberReferences test.dbx

clear: archive
	@echo "clearing database..."
	@$(JAVA_HOME)/bin/java -classpath $(CLASSPATH):./references.jar org.openscience.references.ClearDatabase

create: archive
	@echo "creating database..."
	@$(JAVA_HOME)/bin/java -classpath $(CLASSPATH):./references.jar org.openscience.references.CreateDatabase

clean::
	@find . -name '*~' -exec $(RM) {} \;
	@find . -name '*.class' -exec $(RM) {} \;
	@find . -name '*.gz' -exec $(RM) {} \;
