# FILE. . . . . /home/hak/ilt/dotnet/src/Ilog/Language/Jacc/test/calc/Makefile
# EDIT BY . . . Hassan Ait-Kaci
# ON MACHINE. . Latitude407.Ilog.Biz
# STARTED ON. . Sun May 29 19:49:02 2005

# Last modified on Tue May 31 14:52:51 2005 by hak

ROOTDIR		= D:/ilt/dotnet/src/Ilog/Language
ROOT		= Ilog.Language
JACC		= ${ROOTDIR}/Jacc/Jacc
GRAMMAR		= Calculator
LIBS		= -lib:"${ROOTDIR}/IO/lib" \
		  -lib:"${ROOTDIR}/Util/lib" \
		  -lib:"${ROOTDIR}/Parsing/lib"
REFS		= -r:"${ROOT}.IO.dll" \
		  -r:"${ROOT}.Util.dll" \
		  -r:"${ROOT}.Parsing.dll"
COMPILE		= csc -nologo -o -t:exe ${LIBS} ${REFS}
DEBUG		= csc -nologo -debug -t:exe -out:${GRAMMAR}.exe ${LIBS} ${REFS}
RM		= \rm -rf
SAY		= echo "***"

main: parser compile

parser:
	@${JACC} ${GRAMMAR}

compile: tidy
	@${SAY} Compiling ${GRAMMAR} source files
	@${COMPILE} -out:${GRAMMAR} ${GRAMMAR}*.cs
	@${SAY} Wrote executable ${GRAMMAR}

partial: tidy
	@${SAY} Compiling partial ${GRAMMAR} source files
	@${COMPILE} -out:Partial${GRAMMAR} *Tokenizer.cs *Parser.cs *Definition.cs Partial*.cs 
	@${SAY} Wrote executable Partial${GRAMMAR}

debug: tidy
	@./debug
	@cp ${ROOTDIR}/*/lib/*.dll .
	@${SAY} Compiling debuggable *.cs
	@${DEBUG} ${GRAMMAR}*.cs

clean: tidy
	@${SAY} Removing regeneratable files in ${ROOTDIR}/Jacc/test/calc/
	@${RM} ${ROOTDIR}/Jacc/test/calc/Calculator \
               ${ROOTDIR}/Jacc/test/calc/CalculatorParser.cs \
               ${ROOTDIR}/Jacc/test/calc/CalculatorDefinition.cs \
               ${ROOTDIR}/Jacc/test/calc/PartialCalculator \
               ${ROOTDIR}/Jacc/test/calc/*.exe \
               ${ROOTDIR}/Jacc/test/calc/*.dll \
               ${ROOTDIR}/Jacc/test/calc/*.log

tidy:
	@${RM} ,* @*@
