#######################################################################
#
# Universal Replication toolkit
# (Copyright information?)
#
#######################################################################
JFLAGS = -g 
JAVAC = javac $(JFLAGS)
JAVA = java 
CLASSDIR = classes
SENDER = jasmine.cs.utexas.edu
RECEIVER = orchid.cs.utexas.edu
ALGORITHM = 1
#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.7.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-tracefile:
	export CLASSPATH=$(CLASSPATH)
	java -classpath $(CLASSPATH) -esa -ea TraceGenerator > inputTraceFile

run-sender:
	export CLASSPATH=$(CLASSPATH)
	java $(JOPTIONS1) -esa -ea -Djava.rmi.server.codebase=$(CODEBASE) -Djava.security.policy=$(SECURITY_POLICY_FILE) -classpath $(CLASSPATH) NiceExptSender ufs.config 9 $(ALGORITHM) < inputTraceFile > sender.result.txt

run-receiver:
	export CLASSPATH=$(CLASSPATH)
	java $(JOPTIONS2) -esa -ea -Djava.rmi.server.codebase=$(CODEBASE) -Djava.security.policy=$(SECURITY_POLICY_FILE) -classpath $(CLASSPATH) NiceExptReceiver ufs.config 9 10 $(ALGORITHM) < inputTraceFile > receiver.result.txt

run-start1:
	export CLASSPATH=$(CLASSPATH)
	java -esa -ea -Djava.rmi.server.codebase=$(CODEBASE) -Djava.security.policy=$(SECURITY_POLICY_FILE) -classpath $(CLASSPATH) Synchronizer $(RECEIVER) 4790

run-start2:
	export CLASSPATH=$(CLASSPATH)
	java -esa -ea -Djava.rmi.server.codebase=$(CODEBASE) -Djava.security.policy=$(SECURITY_POLICY_FILE) -classpath $(CLASSPATH) Synchronizer $(SENDER) 4789 $(RECEIVER) 4791

#######################################################################
# $Log: Makefile,v $
# Revision 1.13  2005/06/08 14:14:23  dahlin
# adding scripts for nightly junit run
#
# Revision 1.12  2005/03/23 01:34:05  nayate
# Minor change
#
# Revision 1.11  2005/03/23 01:24:02  nayate
# Allowed specifying the algorithm on the command line
#
# Revision 1.10  2005/03/21 13:30:11  nayate
# Some bug fixes + minor changes
#
# Revision 1.9  2005/03/21 06:55:20  nayate
# Turned off output
#
# Revision 1.8  2005/03/21 00:23:13  nayate
# Minor fixes
#
# Revision 1.7  2005/03/21 00:20:39  nayate
# Added the ability to generate tracefiles
#
# Revision 1.6  2005/03/21 00:07:47  nayate
# Minor fix
#
# Revision 1.5  2005/03/20 23:35:10  nayate
# Changed names to avoid name collision
#
# Revision 1.4  2005/03/20 23:34:50  nayate
# Changed names to avoid name collision
#
# Revision 1.3  2005/03/20 13:27:20  nayate
# Minor fix
#
# Revision 1.2  2005/03/20 13:24:34  nayate
# Minor change
#
# Revision 1.1  2005/03/20 13:18:54  nayate
# Added a new experiment
#
#######################################################################
