# Make sure CLASSPATH includes both "." and the antlr directory, i.e.,
# /usr/local/antlr-2.7.1

# Invoke with "java Ic2Dot file"

ANTLR = java antlr.Tool

JAVAC = javac
#JFLAGS = -classpath .:$(CLASSPATH)

ANTLR_GENERATED_FILES = IcLexer.java IcParser.java IcParserTokenTypes.java \
	IcWalker.java
ANTLR_CLASS_FILES = $(ANTLR_GENERATED_FILES:%java=%class)

all : $(ANTLR_CLASS_FILES) Ic2Dot.class

#$(ANTLR_CLASS_FILES) : $(ANTLR_GENERATED_FILES)
#	javac $^

$(ANTLR_GENERATED_FILES) : ic.g
	$(ANTLR) ic.g

%.class : %.java
	$(JAVAC) $(JFLAGS) $<

JARFILES = $(ANTLR_CLASS_FILES) Ic2Dot.class

ic2dot.jar : $(JARFILES)
	jar cf ic2dot.jar $(JARFILES)

TARFILES = README COPYRIGHT Makefile Ic2Dot.java ic.g ic2dot ic2ps \
	dacexample.strl dacexample.ic ic2dot.jar

ic2dot.tar.gz : $(TARFILES)
	tar cf - $(TARFILES) | gzip > ic2dot.tar.gz

dacexample.ic : dacexample.strl
	esterel -ic dacexample.strl

dacexample.dot : dacexample.ic ic2dot.jar
	java -classpath $(CLASSPATH):ic2dot.jar Ic2Dot < dacexample.ic > dacexample.dot

dacexample.ps : dacexample.dot
	dot -Tps dacexample.dot > dacexample.ps

test : dacexample.ps

.PHONY : clean all
clean :
	rm -f *.class $(ANTLR_GENERATED_FILES) IcParserTokenTypes.txt \
		ic2dot.jar ic2dot.tar.gz dacexample.dot dacexample.ps
