SRC = Makefile Main.java expr.cup expr.flex stmt.cup
DERIVED = parser.java sym.java Yylex.java bin/* example.zip

default: bin/Main.class

bin/Main.class: Main.java parser.java sym.java Yylex.java
	javac -cp java_cup.jar -d bin Main.java parser.java sym.java Yylex.java

parser.java sym.java: expr.cup
	 java -jar java_cup.jar expr.cup

Yylex.java: expr.flex
	java -jar jflex.jar expr.flex

example.zip: $(SRC)
	zip example.zip $(SRC) ../../project/lib/java_cup.jar ../../project/lib/jflex.jar

clean:
	-rm -f $(DERIVED)

run:
	java -cp bin:java_cup.jar Main