COMETAVERSION	= 1.0beta2

JAVAC		= javac
JAVADOC		= javadoc
JAR		= jar

COMETA		= cometa-$(COMETAVERSION)
COMETA_SIENA	= cometa-siena-$(COMETAVERSION)

SRCPACKAGE	= cometa-$(COMETAVERSION)

COMETA_JAR	= $(COMETA).jar
COMETA_SIENA_JAR= $(COMETA_SIENA).jar

CLASSDIR	= classes

SIENA_JAR	= siena-1.5.5.jar
CLASSPATH	= $(SIENA_JAR):$(COMETA_JAR)
#JDEBUGFLAGS	= -O -Xlint:unchecked
JDEBUGFLAGS	= -O
JFLAGS		= $(JDEBUGFLAGS) -d $(CLASSDIR)

SOURCES_COMETA_SIENA = \
		cometa-siena/AckCatch.java			\
		cometa-siena/CoMETA_Stabilize_Consumer.java	\
		cometa-siena/CoMETA_Stabilize_Producer.java	\
		cometa-siena/Dummy.java				\
		cometa-siena/MoveOutAckCatch.java		\
		cometa-siena/MoveOutCheckCatch.java		\
		cometa-siena/MThinClient.java			\
		cometa-siena/Naive_Stabilize_Consumer.java	\
		cometa-siena/PingCatch.java			\
		cometa-siena/ProxyToServiceImpl.java

SOURCES_COMETA	= \
		cometa/ConnectedClient.java			\
		cometa/DummyInterface.java			\
		cometa/Listener.java				\
		cometa/NotificationsPersistence.java		\
		cometa/ProxyToClient.java			\
		cometa/ProxyToProxy.java			\
		cometa/ProxyToServiceInterface.java		\
		cometa/Sender.java				\
		cometa/startProxy.java 

TESTING_SCRIPTS = \
		test/run_once.sh				\
		test/runProxy.sh				\
		test/run_siena.sh				\
		test/run_tests_siena4_long.sh			\
		test/run_tests_siena4_seawind.sh		\
		test/run_tests_siena_naive.sh 

OTHER_FILES	= Makefile README

SRCDIST		= $(OTHER_FILES) $(SOURCES_COMETA) $(SOURCES_COMETA_SIENA) \
		  $(TESTING_SCRIPTS)

default: binpkg

all: binpkg srcpkg

binpkg: $(COMETA_JAR) $(COMETA_SIENA_JAR)
srcpkg: $(SRCPACKAGE).tar.gz

.PHONY: all install clean distclean maintainerclean \
	testpackage \
	srcpkg docpkg binpkg

$(COMETA_JAR): $(SOURCES_COMETA)
	rm -rf $(CLASSDIR)
	mkdir $(CLASSDIR)
	$(JAVAC) $(JFLAGS) -classpath $(SIENA_JAR) $(SOURCES_COMETA)
	$(JAR) cvf $@ -C $(CLASSDIR) CoMETA

$(COMETA_SIENA_JAR): $(SOURCES_COMETA_SIENA) $(COMETA_JAR)
	rm -rf $(CLASSDIR)
	mkdir $(CLASSDIR)
	$(JAVAC) $(JFLAGS) -classpath $(SIENA_JAR):$(COMETA_JAR) \
		$(SOURCES_COMETA_SIENA) 
	$(JAR) cvf $@ -C $(CLASSDIR) .

$(SRCPACKAGE).tar.gz: $(SRCDIST)
	rm -rf $(COMETA)
	mkdir $(COMETA)
	(tar cf - $(SRCDIST))|(cd $(COMETA);tar xf -)
	tar cf - $(COMETA) | gzip > $@
	/bin/rm -rf $(COMETA)

clean:
	/bin/rm -rf $(CLASSDIR)

distclean: clean
	/bin/rm -f $(COMETA_JAR) $(COMETA_SIENA_JAR) $(SRCPACKAGE).*

#
# maintainer stuff
#
maintainerclean: distclean
