
objects = $(subst .java,.class, $(wildcard engine/*.java))
ideobjects = $(subst .java,.class, $(wildcard ide/*.java))
middleobjects = $(subst .java,.class, $(wildcard middle/*.java))

all: engine/VeriParser.java $(objects) $(ideobjects) $(middleobjects)

engine: engine/VeriParser.java $(objects)
#	play -v 10 /usr/share/sounds/warning.wav
ide: $(ideobjects)
middle: $(middleobjects)

clean: engclean ideclean

engclean:
		cd engine; $(MAKE) clean 

ideclean:
		cd ide; $(MAKE) clean

doc:
		if [ ! -d javadoc ]; then mkdir javadoc; fi ; javadoc -private -d ./javadoc ide/*.java middle/*.java engine/*.java

$(objects): engine/%.class : engine/%.java
			javac -g $<

$(ideobjects): ide/%.class : ide/%.java
			javac -g $<


$(middleobjects): middle/%.class : middle/%.java
			javac -g $<

.DEFAULT : all

engine/VeriParser.java : engine/VeriParser.jj
			cd engine ; javacc VeriParser.jj ; sed s/System.out.println/xConsole.tokenMgrTrace/ VeriParserTokenManager.java > cucu.tmp ; mv cucu.tmp VeriParserTokenManager.java ; cd ..


engtags:
		cd engine ; etags --regex='/[ \t]*interface[ \t]*[A-Za-z_]*/' *.java ; cd ..
