#######################################################################
#
# Universal Replication toolkit
# (Copyright information?)
#
#######################################################################

JFLAGS = -g 
JAVA_PATH = /public/share/src/jdk1.5.0_02/bin/
RMIC_PATH = /public/share/src/jdk1.5.0_02/bin/

CLASSDIR = classes
PASTRY = FreePastry-1.4.01.jar

ifeq "$(OSTYPE)" "mac"
  os = "linux"
  shellParam = tcsh
  JAVA_PATH = /usr/bin
  RMIC_PATH = /usr/bin
endif

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


ifndef os
#  CLASSPATH = classes/\;./\;./experiments/expt1/classes\;./experiments/sosp/classes\;./experiments/expt2/classes\;./experiments/expt3/classes\;./experiments/sosp/PlanetLabExp/classes\;./sdims.jar\;./je-1.7.1/lib/je.jar
CLASSPATH = classes/\;../classes\;.\;..\;experiments/expt1/classes\;../experiments/sosp/classes\;../experiments/expt2/classes\;../experiments/expt3/classes\;../experiments/sosp/PlanetLabExp/classes\;../sdims.jar\;../je-1.7.1/lib/je.jar\;$(PASTRY)\;../jars/junit.jar
  CONFIG_FILE = ./ufs.config
  JAVA_POLICY_FILE = ./java.security.SecurityPermission
  JAVA_PATH = /cygdrive/c/Program\ Files/Java/jdk1.5.0_07/bin/
#
# Note: we use JAVA_ROOT/include/linux *not* /JAVA_ROOT/include/win32
# (jint64 is long long in linux v. __long in win32). You will need
# JAVA_ROOT/include/linux from a linux machine and copy it
# to your windows machine if you are using cygwin
#
  LDFLAGS = -I . -I /cygdrive/c/Program\ Files/Java/jdk1.5.0_03/include \
            -I /cygdrive/c/Program\ Files/Java/jdk1.5.0_03/include/linux \
            -I /cygdrive/c/cygwin/usr/include
#
# See  http://www.cs.utexas.edu/users/asmith/howto/mingw32-dll.html
#
  SHLIB_GCC_OPTIONS = -D__CYGWIN__ -Wl,--kill-at -mno-cygwin -shared
  SHLIB_GCC_PREFIX = 
  SHLIB_GCC_SUFFIX = .dll
else
  CLASSPATH = $(PWD)/classes:$(PWD):$(PWD)/../classes:./experiments/expt1/classes:./experiments/sosp/classes:./experiments/expt2/classes:./experiments/expt3/classes:./experiments/sosp/PlanetLabExp/classes:sdims.jar:./je-1.7.1/lib/je.jar:$(PASTRY):./jars/junit.jar
  export CLASSPATH
  CONFIG_FILE = $(PWD)/ufs.config
  JAVA_POLICY_FILE = $(PWD)/java.security.SecurityPermission
  LDFLAGS = -I . -I /lusr/java2/include -I /lusr/java2/include/linux \
            -I /usr/include -I /usr/java/j2sdk1.4.2_07/include \
            -I /usr/java/j2sdk1.4.2_07/include/linux
  SHLIB_GCC_OPTIONS = -shared
  SHLIB_GCC_PREFIX = lib
  SHLIB_GCC_SUFFIX = .so
endif

JAVAC = $(JAVA_PATH)/javac $(JFLAGS)
JAVA = $(JAVA_PATH)/java -esa -ea
JAVAH = $(JAVA_PATH)/javah

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

GCC = gcc
GCCFLAGS = -g -O
LDFLAGS = -I . -I /lusr/java2/include -I /lusr/java2/include/linux \
          -I /usr/include -I /usr/java/j2sdk1.4.2_07/include \
          -I /usr/java/j2sdk1.4.2_07/include/linux \
	  -I '/cygdrive/c/Program Files/Java/jdk1.5.0_06/include/win32' \
	  -I '/cygdrive/c/Program Files/Java/jdk1.5.0_06/include'

.phony:			clean all javaclassfiles

all:	javaclassfiles


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

clean:
			rm -rf $(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) $<

attr:
	$(JAVA) -ea -esa -classpath $(CLASSPATH) PRACTIFSFileAttributes
#######################################################################
#
# $Log: Makefile,v $
# Revision 1.4  2007/08/24 15:40:52  dahlin
# *** empty log message ***
#
# Revision 1.3  2006/11/14 02:02:14  zjiandan
# Compiled Pangaea NFS version with some UnitTests.
#
# Revision 1.2  2006/10/17 00:50:53  zjiandan
# Fixed Makefiles for compiling NFSLib on mac and tested PangaeaTopology overlog
# rules in one file.
#
# Revision 1.1  2006/07/15 02:54:44  nayate
# Added the Makefile
#
# Revision 1.1  2006/06/12 20:07:19  nayate
# First version of the Java NFS library
#
#
#######################################################################
