JDOC = javadoc 

JDOC_FLAGS = -private -author -version

JDOC_API_LINK = -link http://java.sun.com/j2se/1.4/docs/api/
JDOC_XML_LINK =  -link http://java.sun.com/xml/docs/api/
JDOC_XMLDB_LINK = -link http://206.20.201.14/xapi/api/
JDOC_ORCL_LINK = -link http://www.xml-schema.com/tools/oracle/xdk/doc/java/javadoc/

JDOC_LINX = $(JDOC_API_LINK) $(JDOC_XMLDB_LINK) $(JDOC_ORCL_LINK)

SIXDML_PATH  =  org/sixdml
QRY_PATH     = $(SIXDML_PATH)/query
UPDT_PATH    = $(SIXDML_PATH)/update
EXCPT_PATH   = $(SIXDML_PATH)/exceptions
EXCLN_PATH   = $(SIXDML_PATH)/excelon
TRFRM_PATH   = $(SIXDML_PATH)/transform
VLDTE_PATH   = $(SIXDML_PATH)/validation
DBMGMT_PATH  = $(SIXDML_PATH)/dbmanagement



JAVAC = javac -g

ALL_CLASS_FILES = $(SIXDML_CLSS) $(QRY_CLSS) $(EXCPT_CLSS) $(EXCLN_CLSS) $(UPDT_CLSS) $(DBMGMT_CLSS) $(TRFRM_CLSS) $(VLDTE_CLSS)

VLDTE_SRC  = $(VLDTE_PATH)/*.java
VLDTE_CLSS = $(VLDTE_PATH)/*.class

SIXDML_SRC  = $(SIXDML_PATH)/*.java
SIXDML_CLSS = $(SIXDML_PATH)/*.class 

QRY_SRC  = $(QRY_PATH)/*.java
QRY_CLSS = $(QRY_PATH)/*.class

UPDT_SRC  = $(UPDT_PATH)/*.java
UPDT_CLSS = $(UPDT_PATH)/*.class

DBMGMT_SRC  = $(DBMGMT_PATH)/*.java
DBMGMT_CLSS = $(DBMGMT_PATH)/*.class

EXCPT_SRC  = $(EXCPT_PATH)/*.java
EXCPT_CLSS = $(EXCPT_PATH)/*.class

EXCLN_SRC  = $(EXCLN_PATH)/*.java
EXCLN_CLSS = $(EXCLN_PATH)/*.class

TRFRM_SRC  = $(TRFRM_PATH)/*.java
TRFRM_CLSS = $(TRFRM_PATH)/*.class

ALL_SRC_FILES =  $(SIXDML_SRC) $(EXCPT_SRC)  $(VLDTE_SRC)  $(QRY_SRC) $(UPDT_SRC) $(DBMGMT_SRC) $(TRFRM_SRC) $(EXCLN_SRC) 



#TODO: Fix variable below to include all HTML files
ALL_JDOCS = *.html *-list *.css $(SIXDML_PATH)/*.html 

TARBALL = sixdml.tar.gz


all: clean sixdml validation excelon parser javadoc jar

javadoc: 
	$(JDOC) $(JDOC_FLAGS) $(ALL_SRC_FILES) $(JDOC_LINX)

sixdml: dbmanagement query update exceptions 
	$(JAVAC) $(SIXDML_SRC)

dbmanagement:
	$(JAVAC) $(DBMGMT_SRC)

update:
	$(JAVAC) $(UPDT_SRC)

query: 
	$(JAVAC) $(QRY_SRC)

exceptions:
	$(JAVAC) $(EXCPT_SRC)

transform:
	$(JAVAC) $(TRFRM_SRC)

excelon:
	$(JAVAC) $(EXCLN_SRC)

validation:
	$(JAVAC) $(VLDTE_SRC)

tarball: 
	tar cvf sixdml.tar *
	gzip sixdml.tar

clean: 
	rm -rf $(ALL_CLASS_FILES) $(ALL_JDOCS) $(TARBALL)

parser: 
	java antlr.Tool $(SIXDML_PATH)/parser/Sixdml.g
	mv Sixdml*.java $(SIXDML_PATH)/parser/
	$(JAVAC) $(SIXDML_PATH)/parser/*.java

jar:
	jar -cvf 6dml.jar $(VLDTE_CLSS) $(EXCLN_CLSS) $(EXCPT_CLSS) $(TRFRM_CLSS) $(QRY_CLSS) $(UPDT_CLSS) $(DBMGMT_CLSS) $(SIXDML_PATH)/parser/*.class $(SIXDML_CLSS)
	cp 6dml.jar /cygdrive/c

wc:
	wc -l $(ALL_SRC_FILES) $(SIXDML_PATH)/parser/*.g

parser_test:
	$(JAVAC) $(SIXDML_PATH)/parser/SixdmlParserTest.java
	java $(SIXDML_PATH)/parser/SixdmlParserTest


