JAVA=java JAVAC=javac JFLEX=jflex CUP=$(JAVA) java_cup.Main < all: test test: output.txt @(diff output.txt output.good && echo "Test OK!") || echo "Test failed!" output.txt: Main.class test.txt $(JAVA) Main test.txt > output.txt Main.class: Main.java Lexer.java parser.java %.class: %.java $(JAVAC) $^ Lexer.java: lcalc.flex $(JFLEX) lcalc.flex parser.java: ycalc.cup $(CUP) ycalc.cup clean: rm -f parser.java Lexer.java sym.java output.txt *.class *~