JFLAGS=-g //defines a variable which can be used in shell commands below
//-g means compile and save info for the debugger, jdb
//1st line is dependences listing
//it says Main.class depends on all the *.java files in Parse diry
//plus Yylex.java (which is created by JLex); so that when any of these
//files change (or are touched), the 2nd line action will be taken
//action on 2nd line is to compile those files
Parse/Main.class: Parse/*.java Parse/Yylex.java
javac ${JFLAGS} Parse/*.java
//insures that if you change your Tiger.lex file a new scanner
//will be generated by JLex and moved to file Yylex.java
Parse/Yylex.java: Parse/Tiger.lex
cd Parse; java JLex.Main Tiger.lex; mv Tiger.lex.java Yylex.java
ErrorMsg/ErrorMsg.class: ErrorMsg/*.java
javac ${JFLAGS} ErrorMsg/*.java
clean:
rm Parse/*.class ErrorMsg/*.class Parse/Yylex.java