 # Written by: Bryan Horling and Regis Vincent
 #             Department of Computer and Information Science
 #             University of Massachusetts
 #             Amherst, Massachusetts 01003.
 #
 # This code was written at the Multi-Agent Systems Lab.
 # Department of Computer Science, University of Massachusetts,
 # Amherst, MA 01003.
 #
 # See LICENCE file for licence details.

MODULE	= simulator

include Makefile.tmpl

# Other variables
SIMULATORJAVA	= $(shell find $(MODULE) -name "*.java" -print)
SIMULATORJDEPS	= $(patsubst %.java, $(CLASSD)/%.class, $(SIMULATORJAVA))
CLASSES	= cd $(CLASSD); find $(MODULE) -name "*.class" -print | sed -e's/\$$/\\$$/g'
JAR	= $(MODULE).jar
ZIP	= $(LIBS)/$(MODULE).zip
JAVA	= $(SIMULATORJAVA)
JAVAC	= $(JAVART)javac -J-mx30m -g -d $(CLASSD) -deprecation -classpath $(CLASSPTH)
JAVADOC	= $(JAVART)javadoc -classpath $(CLASSPTH) -sourcepath .:.. \
   -public -d $(DOCD) -version -author \
   -link http://mas.cs.umass.edu/research/mass/api/agent/ \
   -link http://mas.cs.umass.edu/research/mass/api/ihome/ \
   -link http://mas.cs.umass.edu/research/mass/api/utilities/ \
   -link http://mas.cs.umass.edu/research/mass/api/taems/

# The rules
all: $(MODULE)/ConfigFileParser.java $(SIMULATORJDEPS) $(CLASSD)/$(MODULE)/ConfigFileParser.class

run: all
	$(JAVART)java -classpath $(CLASSPTH) simulator.Simulator &

$(MODULE)/ConfigFileParser.java: $(MODULE)/ConfigFile.jj
	$(JAVACC) -OUTPUT_DIRECTORY=$(MODULE) $(MODULE)/ConfigFile.jj
	$(JAVAC) $(MODULE)/*.java

zip: all $(LIBS)/$(MODULE).zip

$(LIBS)/$(MODULE).zip: FORCE
	@echo Making $(MODULE).zip file
	cd $(CLASSD); zip -r ../$(LIBS)/$(MODULE) *.class $(MODULE)

clean:
	rm -rf $(CLASSD)/$(MODULE)
	rm -f $(LIBS)/$(MODULE).zip

reallyclean: clean
	grep -l "Generated By:JavaCC" $(MODULE)/*.java | xargs rm -f
