Source code for Makefile
# Paths and arguments you may wish to change:
OBJECTSTORE_HOME = /usr/local/ObjectStore
XERCES_HOME = /usr/local/lib/xerces
JAVA_HOME = /usr/java/jdk
JAVA = $(JAVA_HOME)/bin/javac
# Settings below this line should not have to change.
OBJECTSTORE_LIBS = $(OBJECTSTORE_HOME)/pro.zip:$(OBJECTSTORE_HOME)/browser.jar:$(OBJECTSTORE_HOME)/tools.jar
XERCES_LIB = $(XERCES_HOME)/xerces.jar
# Important that persistent class directory precede "." directory so that
# post-processed versions of persistent classes take precedence
LOCAL_CLASSPATH = $(JAVA_HOME)/jre/lib/rt.jar:$(XERCES_LIB):$(PERSISTENT_CLASS_DIR):.:$(OBJECTSTORE_LIBS)
PERSISTENT_LOCAL_CLASSES = "PhoneApp/Data/PhoneRegion.class PhoneApp/Data/PhonebookEntry.class PhoneApp/Data/DataObject.class"
JAVA_FILES = PhoneApp/*.java PhoneApp/XML/*.java PhoneApp/Data/*.java
PERSISTENT_CLASS_DIR = ./pData
all: apps persistent
apps:
$(JAVA) -classpath $(LOCAL_CLASSPATH) $(JAVA_FILES)
#Added: Need to post-process the persistent classes so that ObjectStore can properly
#store and manage them.
persistent:
@PATH=$(PATH):$(JAVA_HOME)/bin; export PATH; CLASSPATH=$(LOCAL_CLASSPATH); export CLASSPATH; $(OBJECTSTORE_HOME)/bin/osjcfp -dest $(PERSISTENT_CLASS_DIR) -pc $(PERSISTENT_LOCAL_CLASSES)
apidoc:
$(JAVA_HOME)/bin/javadoc -private -d docs/ PhoneApp PhoneApp.XML PhoneApp.Data
clean:
@find . \( -name "*~" -o -name "*.class" \) -type f -exec rm \{\} \;
@find ./docs \( -name "*.html" -o -name "*.css" -o -name "package-list" \) -type f -exec rm \{\} \;
@find ./pData/ -type f -exec rm \{\} \;
@find . -name "phones.*" -type f -exec rm \{\} \;
browse:
$(JAVA_HOME)/bin/java -classpath $(LOCAL_CLASSPATH) com.odi.browser.Browser phones.odb
run:
$(JAVA_HOME)/bin/java -classpath $(LOCAL_CLASSPATH):. PhoneApp.Admin