# FILE. . . . . /home/hak/ilt/src/ilog/rif/Makefile
# EDIT BY . . . Hassan Ait-Kaci
# ON MACHINE. . 4j4zn71
# STARTED ON. . Wed Apr 02 03:41:43 2008

# Last modified on Sun May 18 21:58:29 2008 by hak

########################################################################

LAN		= BLD
EXT		= bld

########################################################################

HOME		= C:/cygwin/home/hak
CLASSROOT	= ${HOME}/ilt/classes
CLASSPATH	= .;${CLASSROOT};${ILT_HOME}/classes/jdom.jar
#JARFILE		= $(CLASSROOT)/ilog.jar
TARFILES	= README.txt test*.bld test*.xml JaccXmlAnnotations.doc BLDDoc

#DOCDIR		= $(ILT_HOME)/doc/ilog/code/rcl
SAVEDIR		= $(ILT_HOME)/save/${EXT}
TRASH		= ,* ,.* *~ @*@ .*~ core ilog.rif.${EXT}.tar*

JC		= @javac -O -d "${CLASSROOT}" -classpath "${CLASSPATH}" #-Xlint:unchecked
JACC		= @java -classpath "${CLASSPATH}" ilog.language.syntax.Jacc

COM		= ${EXT}

RM		= /bin/rm -rf
SAY		= @echo "***"

########################################################################

all: gen classes

########################################################################

full: gen doc

########################################################################

gen:	tidy ${LAN}.grm
	${SAY} Generating the ${LAN} parser...
	${JACC} -p Parser ${LAN}

########################################################################

log: tidy
	${SAY} Generating complete grammar log for ${LAN}.grm...
	${JACC} -v 4 -n -o ${LAN}.log ${LAN}
	${SAY} Grammar log written in file ${LAN}.log

########################################################################

classes: tidy
	${SAY} Compiling java files...
	${JC} *.java

########################################################################

full: clean save all zip

########################################################################

clean: tidy
	${SAY} Removing the old parser Java sources...
	@${RM} -f Parser.java
	${SAY} Removing the old grammar analysis log...
	@${RM} -f ${LAN}.log 
	${SAY} Removing the old archives
	@${RM} -f ${LAN}Doc.zip ${LAN}2XML.tar.gz

########################################################################

zip: clean doc
	@zip ${LAN}Doc ${LAN}Doc/* ${LAN}Doc/*/* > /dev/null
	${SAY} Wrote zipped documentation ${LAN}Doc.zip
	@tar cvf ${LAN}2XML.tar ${TARFILES} > /dev/null
	@gzip ${LAN}2XML.tar
	${SAY} Wrote gzipped tarball ${LAN}2XML.tar.gz

########################################################################

doc: tidy
	${SAY} Removing old files...
	@\rm -rf ${LAN}Doc
	${SAY} Generating grammar hyperdocumentation
	${JACC} -doc ${LAN}
	@cp *.${EXT} ${LAN}Doc/
	@cp Test.run ${LAN}Doc/
	@cp ${COM} ${LAN}Doc/
	@\mv ${LAN}Doc/index.html ${LAN}Doc/000StartHere.html
	${SAY} See grammar doc in file ${LAN}Doc/000StartHere.html
	${SAY} Hiliting HTML Java and Jacc sources in ${LAN}Doc:
	@hl -! -p ilog.rif.${EXT} -d ${LAN}Doc *.grm *.java
	${SAY} Hilited HTML source code in ${LAN}Doc/index.html.

########################################################################

save: clean
	@tar cvf ilog.rif.${EXT}.tar Makefile bld *.bl? *.java *.grm > /dev/null
	@gzip ilog.rif.${EXT}.tar
	@mv -f ilog.rif.${EXT}.tar.gz ${SAVEDIR}
	${SAY} Saved archive ilog.rif.${EXT}.tar.gz in ${SAVEDIR}

########################################################################

backup: clean
	${SAY} Saving current package ilog.rif.${EXT}
	${SAY} Backing up previously saved version in ${SAVEDIR}/previous
	@tar cvf ilog.rif.${EXT}.tar *.java *.grm Makefile > /dev/null
	@gzip ilog.rif.${EXT}.tar
	@mv -f ${SAVEDIR}/previous /tmp
	@mkdir ${SAVEDIR}/previous
	@mv /tmp/previous ${SAVEDIR}/previous
	@mv ${SAVEDIR}/ilog.rif.${EXT}.tar.gz ${SAVEDIR}/previous
	@mv -f ilog.rif.${EXT}.tar.gz ${SAVEDIR}

########################################################################

tidy:
	${SAY} Tidying up directory...
	@\rm -rf ${TRASH}

########################################################################