JDK_PATH = /toc/arch/linux-x86/glibc2.1/local/pkg/java/IBMJava2-13
#/usr/java/java

JAVA_COMPILER = ${JDK_PATH}/bin/javac

#path to the java_cup jar file
CUP_CLASSPATH = ../lib/java_cup.jar

#path to the jlex jar file
JLEX_CLASSPATH = ../lib/JLex.jar

CPL_CLASSPATH = ..

# this is the additional paths to add
CLASSPATH = ${CUP_CLASSPATH}:${JLEX_CLASSPATH}:${CPL_CLASSPATH}

# how to invoke java
JAVA = @${JDK_PATH}/bin/java -cp ${CLASSPATH}

# how to invoke the java compiler
JAVAC = @${JAVA_COMPILER} -classpath ${CLASSPATH}

# how to invoke jlex
JLEX = ${JAVA} JLex.Main

# how to invoke cup
CUP = ${JAVA} java_cup.Main 

# phony target to rebuild the compiler, conditionally reconstructing
#  the auto-generated lexer and parser files, if necessery

all: cpl_parser javaconf_parser
	${JAVAC} *.java

cpl_parser: CPLLex.java CPLParser.java CPLSym.java

javaconf_parser: JavaConfLex.java JavaConfParser.java JavaConfSym.java

%.class: %.java
	${JAVAC} $<

CPLLex.java: cpl.lex
	${JLEX} cpl.lex
	@mv cpl.lex.java CPLLex.java

JavaConfLex.java: javaconf.lex
	${JLEX} javaconf.lex
	@mv javaconf.lex.java JavaConfLex.java

CPLParser.java CPLSym.java: cpl.cup
	${CUP} -symbols CPLSym -parser CPLParser < cpl.cup

JavaConfParser.java JavaConfSym.java: javaconf.cup
	${CUP} -symbols JavaConfSym -parser JavaConfParser < javaconf.cup

clean:
	@rm -rf *.class CPLLex.java CPLParser.java CPLSym.java JavaConfLex.java JavaConfParser.java JavaConfSym.java *~ \#*\# ~*

