
CDIR=../../..
# Jardest should be absolute, or assume pwd is charm/java/charm/
JARDEST=../../java/bin

#ANTLR parse-time jar file
ARDIR = $(CDIR)/bin/charmjavabin/antlr.jar

#Call javacA to compile a Java file that needs Antlr libraries
javacA = javac -classpath $(ARDIR):..

all: c t0 t1 t2 t3 jj m jar

default:
	@echo "Specify target: all = c(lean) t0 t1 t2 j(j) m(ain)"

m: main

c: clean

vc: veryclean

#================================================================
#The Java parser
t0:
#	(cd $(CDIR)/src/langs/jade && make t0)
	$(javacA) JavaRecognizer.java JavaTokenTypes.java JavaLexer.java

#The first pass tree parser
t1:
#	$(Antlr) java.tree1.g
	$(javacA) JavaTreeParser1.java JavaTreeParser1TokenTypes.java

#The second pass tree parser
t2:
#	$(Antlr) java.tree2.g
	$(javacA) JavaTreeParser2.java JavaTreeParser2TokenTypes.java

#The third pass tree parser
t3:
#	$(Antlr) java.tree.g
	$(javacA) JavaTreeParser.java JavaTreeParserTokenTypes.java

#The JJ subdirectory
jj:
	$(javacA) JJ/*.java

j:	jj

main:
	$(javacA) Main.java

jar:
	cd .. && jar -cf $(JARDEST)/jade.jar jade/*.class jade/JJ/*.class

#================================================================
clean:
	rm -fr *.class JJ/*.class

veryclean: clean
	rm -f JavaTreeParser.java JavaTreeParserTokenTypes.java JavaTreeParserTokenTypes.txt
	rm -f JavaTreeParser1.java JavaTreeParser1TokenTypes.java JavaTreeParser1TokenTypes.txt
	rm -f JavaTreeParser2.java JavaTreeParser2TokenTypes.java JavaTreeParser2TokenTypes.txt
	rm -f JavaLexer.java JavaTokenTypes.java JavaTokenTypes.txt JavaRecognizer.java
