##############################################################################
# Variables
##############################################################################

MODULES_DIRECTORY = Enseignement/DESS/Notes/Exemples/

MODULE     = RN-TP5
AUTHOR     = Nicolas.Thiery
VERSION	   = 1.0-Correction

#JAVAC      = javac
#JAVACFLAGS = -g -deprecation # -w4

JAVAC	   = jikes
JAVACC	   = javacc
JAVACFLAGS = -g -deprecation +P

##############################################################################
# Rules
##############################################################################

all: Example.class Parenthesis.class Calc.class

demo:	all
	@echo Example demo:
	echo "{}"      | java Example
	echo "{{{}}}"  | java Example
	-echo "{{{}}"  | java Example
	@echo
	@echo Parenthesis demo:
	echo ""                       | java Parenthesis
	echo "{()[[[[]]](){}]({{}})}" | java Parenthesis
	-echo "{{{}}"                 | java Parenthesis
	-echo "[)"                    | java Parenthesis
	@echo
	@echo Calc demo:
	echo "12"                     | java Calc
	echo "(12)"                   | java Calc
	-echo "-12"                   | java Calc
	-echo "--(([-{12}]))"         | java Calc
	-echo "4+-4"                  | java Calc
	echo "2*-4 + 8"               | java Calc
	echo "2*3     -  6"           | java Calc
	echo "2*(3*4) - 24"           | java Calc
	echo "2+3*4   - 14"           | java Calc
	echo "(2+3)*4 - 20"           | java Calc

doc:
	javadoc *.java

check:  all

clean:
	-rm Example.java *.class *.html stylesheet.css package-list SimpleCharStream.java Token.java TokenMgrError.java ParseException.java *Constants.java *TokenManager.java

##############################################################################
# Dependencies
##############################################################################

%.class: %.java
	$(JAVAC) $(JAVACFLAGS) $<

%.java: %.jj
	$(JAVACC) $<

##############################################################################
# CVS
##############################################################################

DISTDIR = $(MODULE)-$(AUTHOR)-$(VERSION)

dist:
	cd /tmp;					\
	cvs export -r Correction -d $(DISTDIR) $(MODULES_DIRECTORY)$(MODULE);	\
	tar zcf $(DISTDIR).tar.gz $(DISTDIR)
	mv /tmp/$(DISTDIR).tar.gz .
	rm -rf /tmp/$(DISTDIR)

cvs-tag:
	cvs tag -F Version-$(subst .,_,$(VERSION))
