# makefile for rec

default: all

HOME_MAKE_DIR = ${HAL_DIR}/source/rec/make/
include ${HOME_MAKE_DIR}make.defaults
JAVA_PACKAGE = rec
JAVA_PACKAGE_DIRECTORY = rec

# Fill this in with the directories that must be made _before_
# this directory (i.e., because of a code dependency).
# PREDIRS = dir1 dir2 dir3
# PREDIRS = 

# Fill this in with the subdirectories that you would like made
# when you do a make in this directory
# SUBDIRS = dir1 dir2 dir3


SUBDIRS = util loc geo ui sys core simulate meche annotate speech tms mod multi
#house fsm agent demo fun tinybrowser
#SUBDIRS = util loc geo ui sys core simulate fun meche
JARDIRS = util loc geo ui sys core simulate meche annotate speech tms
LIB_DIRS = com javax org
LIB_IMAGES = AILabIcon.gif AILabBanner.gif DrgIcon.gif DRG-banner.png

DEPLOYDIR = $(HAL_DIR)/demo
#DEPLOY_CLASSPATH = ".;mod;rec.jar;lib;lib/lisp"
DEPLOY_CLASSPATH = ".;rec.jar;lib;lib/Jama-1.0.1.jar"

CLASSDIR = $(WRITE_CLASS_FILES_TO)/$(JAVA_PACKAGE_DIRECTORY)

include files

include $(HOME_MAKE_DIR)make.rules

DIRS_TO_DOC = ${SUBDIRS:%=$(JAVA_PACKAGE)/%}

make-jar:
	jar cmf jarManifestInfo rec.jar \
	  $(addprefix -C $(WRITE_CLASS_FILES_TO) rec/,$(JARDIRS)) \
	  -C $(DRG_DIR)/code/classes .\
	  $(addprefix -C $(HAL_DIR)/source/rec/lib ,$(LIB_DIRS) ) \
	  $(addprefix -C $(HAL_DIR)/source/rec/lib ,$(LIB_IMAGES) )

server-jar:
	jar cmf serverJarManifestInfo sim-server.jar \
	  -C $(HAL_DIR)/source/rec/lib com/neva \
	  -C $(WRITE_CLASS_FILES_TO) rec/simulate/WMSimulatorServerDDE.class

batch-files:
	@$(HOME_MAKE_DIR)make-batch-file demo.bat demo.ini \
	   $(DEPLOY_CLASSPATH)
	@$(HOME_MAKE_DIR)make-batch-file assist.bat sim.ini \
	   $(DEPLOY_CLASSPATH)
	@$(HOME_MAKE_DIR)make-batch-file assistance.bat assistance.ini \
	   $(DEPLOY_CLASSPATH)

undeploy: 
	@ rm -fr $(DEPLOYDIR); echo "Deleting deployment dir"

deploy: undeploy batch-files make-jar server-jar
	@ if [ -d $(DEPLOYDIR) ]; then echo -n; \
	  else mkdir $(DEPLOYDIR); echo "Making deployment dir"; \
	fi
	@ if [ -d $(DEPLOYDIR)/mod ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/mod; echo "Making deployment mod"; \
	fi
	@ if [ -d $(DEPLOYDIR)/lib ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/lib; echo "Making deployment lib"; \
	fi
	@ if [ -d $(DEPLOYDIR)/lib/wmbasic ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/lib/wmbasic; echo "Making deployment lib/wmbasic"; \
	fi
	@ if [ -d $(DEPLOYDIR)/lib/lisp ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/lib/lisp; echo "Making deployment lib/lisp"; \
	fi
	@ if [ -d $(DEPLOYDIR)/lib/lisp/ltms ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/lib/lisp/ltms; echo "Making deployment lib/lisp/ltms"; \
	fi
	@ if [ -d $(DEPLOYDIR)/lib/speech ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/lib/speech; echo "Making deployment lib/speech"; \
	fi
	@ if [ -d $(DEPLOYMENT)/server ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/server; echo "Making deployment server"; \
	fi
	@ if [ -d $(DEPLOYMENT)/server/mod ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/server/mod; echo "Making deployment server/mod"; \
	fi
	@ if [ -d $(DEPLOYMENT)/server/lib ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/server/lib; echo "Making deployment server/lib"; \
	fi
	@ if [ -d $(DEPLOYMENT)/server/lib/wmbasic ]; then echo -n; \
	  else mkdir $(DEPLOYDIR)/server/lib/wmbasic; echo "Making deployment server/lib/wmbasic"; \
	fi

	@ cp rec.jar assist.bat assistance.bat demo.bat assist.sh assist-ipaq.sh $(DEPLOYDIR)
	@ cp mod/*.ini mod/*.mod mod/*.txt $(DEPLOYDIR)/mod
	@ cp mod/sample_system_properties.mod $(DEPLOYDIR)/mod/system_properties.mod
	@ cp lib/*.exe lib/*.wav $(DEPLOYDIR)/lib
	@ cp wmbasic/*.wbs $(DEPLOYDIR)/lib/wmbasic
# server stuff
	@ cp wmbasic/*.wbs $(DEPLOYDIR)/server/lib/wmbasic
	@ cp sim-server.jar server.bat $(DEPLOYDIR)/server
	@ cp mod/*.prop $(DEPLOYDIR)/server/mod
# assistance stuff:
#	@ cp annotate/lisp/*.lsp annotate/lisp/*.fasl $(DEPLOYDIR)/lib/lisp
#	@ cp annotate/lisp/ltms/*.lsp annotate/lisp/ltms/*.fasl \
#	     $(DEPLOYDIR)/lib/lisp/ltms
# Dll's etc...
	@ cp lib/speech/*.dll $(DEPLOYDIR)/lib/speech/
        # This is clearly a hack!!!  FIX IT!
	@ cp $(DRG_DIR)/lib/win32/timer.dll $(DEPLOYDIR)/lib/speech
	@ cp $(DRG_DIR)/lib/Jama-1.0.1.jar $(DEPLOYDIR)/lib
	@ rm $(HAL_DIR)/assist-demo.zip; echo "Deleting archive"
	(cd $(HAL_DIR); zip -q -r assist-demo demo -x \*.\#\* -x \*/CVS -x \\*/morgue);
#	(cd $(HAL_DIR); tar czf rec.tgz demo);


Doctree:
	@echo "Creating full documentation tree...please wait..."
	@/jdk/jdk1.3/bin/javadoc -J-mx64m -J-ms64m -d $(DOCDIR) \
	  -private \
	  -link http://java.sun.com/j2se/1.3/docs/api \
	  @packagelist

#	  `find $(DIRS_TO_DOC) -name 'CVS' -prune -o -type d -print | sed -e 's|/[^/]*$$||g' | sort | uniq | sed -e 's|/|.|g'`

etags:
	ctags -e --java-types=Ccfim -R $(SUBDIRS)

