#######################################################################
#
# Universal Replication toolkit
# (Copyright information?)
#
#######################################################################
JFLAGS = -g 
JAVAC = javac $(JFLAGS)
JAVA = java 
CLASSDIR = classes
SENDER = mazzola.csres
#JOPTIONS1 = -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=8000
#JOPTIONS2 = -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=8001

ifeq "$(OSTYPE)" "linux"
  os = "linux"
endif
ifeq "$(OSTYPE)" "linux-gnu"
  os = "linux"
endif

ifndef os
  CLASSPATH = classes\;.\;./../../../classes
  CONFIG_FILE = ./ufs.config
  JAVA_POLICY_FILE = ./java.security.SecurityPermission
else
  CLASSPATH = $(PWD)/classes:$(PWD):$(PWD)/../../../classes
  CONFIG_FILE = $(PWD)/ufs.config
  JAVA_POLICY_FILE = $(PWD)/java.security.SecurityPermission
endif


#
# Alphabetical list of all java files goes here
# (Note that javac *.java doesn't reliably work, so we're stuck with this.)
#

SRCDIR=.
DIR:=$(SRCDIR)/
SRCS := $(THESRCS) 
DIR:=$(CLASSDIR)/
THECLASSFILES := $(THESRCS:.java=.class)
CLASSFILES := $(THECLASSFILES)
CODEBASE := "file://$(PWD)/../../../classes/ file://$(PWD)/classes/"
SECURITY_POLICY_FILE := $(PWD)/../../../java.security.SecurityPermission
CLASSPATH := classes:../../../classes:../../..:../../../je-1.5.1/lib/je.jar

.phony:			clean all

all:
			mkdir -p $(CLASSDIR)
			$(JAVAC) -source 1.4 -d $(CLASSDIR) -classpath $(CLASSPATH) *.java

clean:
			rm -rf $(CLASSDIR)/*
			rmdir $(CLASSDIR)

classes/%.class: %.java
	mkdir -p $(CLASSDIR); $(JAVAC) -source 1.4 -d $(CLASSDIR) -classpath $(CLASSPATH) $<

%.class: %.java
	mkdir -p $(CLASSDIR); $(JAVAC) -source 1.4 -d $(CLASSDIR) -classpath $(CLASSPATH) $<

run-local:
	export CLASSPATH=$(CLASSPATH)
	rmiregistry &
	java -esa -ea -Djava.rmi.server.codebase=$(CODEBASE) -Djava.security.policy=$(SECURITY_POLICY_FILE) -classpath $(CLASSPATH) WriteLocalExpt ufs.config 9 | tee result.txt

run-remote-sender:
	export CLASSPATH=$(CLASSPATH)
	#rmiregistry &
	java $(JOPTIONS1) -esa -ea -Djava.rmi.server.codebase=$(CODEBASE) -Djava.security.policy=$(SECURITY_POLICY_FILE) -classpath $(CLASSPATH) WriteRemoteExpt ufs.config sender 9 | tee sender.result.txt

run-remote-receiver:
	export CLASSPATH=$(CLASSPATH)
	#rmiregistry &
	java $(JOPTIONS2) -esa -ea -Djava.rmi.server.codebase=$(CODEBASE) -Djava.security.policy=$(SECURITY_POLICY_FILE) -classpath $(CLASSPATH) WriteRemoteExpt ufs.config receiver 9 10 | tee receiver.result.txt

run-remote:
	export CLASSPATH=$(CLASSPATH)
	#rmiregistry &
	java -esa -ea -Djava.rmi.server.codebase=$(CODEBASE) -Djava.security.policy=$(SECURITY_POLICY_FILE) -classpath $(CLASSPATH) Synchronizer $(SENDER) 4789

#######################################################################
# $Log: Makefile,v $
# Revision 1.6  2005/03/20 13:19:06  nayate
# Minor changes
#
# Revision 1.5  2005/03/17 02:48:49  nayate
# Made less machine-specific
#
# Revision 1.4  2005/03/15 05:57:49  nayate
# Fixed a conflict
#
# Revision 1.3  2005/03/15 05:46:35  nayate
# Added an experiment
#
# Revision 1.2  2005/03/14 11:01:09  nayate
# Renamed experiment WriteBenchMarkExpt to WriteLocalExpt
#
# Revision 1.1  2005/03/14 09:17:53  nayate
# Added a simple benchmarking experiment
#
#######################################################################
