
# Your Java compiler
JAVAC = javac

# Compile flags
JFLAGS = -g

# Where your Jini distribution was unpacked
JINI_HOME = /usr/local/jini1_1

# Where your HTTP server delivers its web pages from
HTML_HOME = /home/httpd/html

# The subdirectory that is used as codebase in HTML_HOME
CODEBASE = classes

TOMCAT_HOME = /usr/local/jakarta-tomcat
SERVLET = $(TOMCAT_HOME)/lib/servlet.jar

##########################################
# No changes should be needed below here #
##########################################

CLASSPATH = .:$(JINI_HOME)/lib/reggie.jar:$(JINI_HOME)/lib/jini-core.jar:$(JINI_HOME)/lib/jini-ext.jar:$(JINI_HOME)/lib/sun-util.jar:$(SERVLET)

%.class: %.java
	$(JAVAC) $(JFLAGS) -deprecation -classpath $(CLASSPATH)  $<


RMIC_ARGS = -v1.2 -d . -classpath $(CLASSPATH):/usr/local/src/jdk1.2.2/jre/lib/rt.jar

CLASSES = \
	servicefinder/ServiceFinder.class \
	servicefinder/RemoteServiceFinder.class \
	services/ServiceFinderImpl.class \
	services/Server.class \
	client/ServiceViewer.class \
	JiniFinder.class \
	ServiceInfo.class \
	InterfaceDefinition.class \
	AddLocator.class

COPIED_CLASSES = \
	$(TOMCAT_HOME)/webapps/jini/WEB-INF/classes/JiniFinder.class \
	$(TOMCAT_HOME)/webapps/jini/WEB-INF/classes/ServiceInfo.class \
	$(TOMCAT_HOME)/classes/servicefinder/ServiceFinder.class \
	$(TOMCAT_HOME)/webapps/jini/WEB-INF/classes/InterfaceDefinition.class \
	$(TOMCAT_HOME)/webapps/jini/WEB-INF/classes/AddLocator.class \
	$(HTML_HOME)/$(CODEBASE)/servicefinder/ServiceFinder.class \
	$(HTML_HOME)/$(CODEBASE)/servicefinder/RemoteServiceFinder.class \
	$(HTML_HOME)/$(CODEBASE)/net/jini/lookup/ServiceDiscoveryManager\$$LookupCacheImpl\$$LookupListener_Stub.class

# These classes need to have rmic run on them as they
# are exported to RMI
STUBS = \
	services/ServiceFinderImpl_Stub.class

all: $(CLASSES) $(COPIED_CLASSES) $(STUBS)

# Other dependencies
ServiceInfo.class :: JiniFinder.class

client/ServiceViewer.class :: JiniFinder.class

services/Server.class :: JiniFinder.class

AddLocator.class :: JiniFinder.class

services/ServiceFinderImpl.class :: \
	servicefinder/RemoteServiceFinder.class

servicefinder/RemoteServiceFinder.class :: \
	servicefinder/ServiceFinder.class

services/Server.class :: \
	services/ServiceFinderImpl.class

client/ServiceViewer.class :: \
	servicefinder/ServiceFinder.class

$(TOMCAT_HOME)/classes/servicefinder/ServiceFinder.class: servicefinder/ServiceFinder.class
	cp servicefinder/ServiceFinder.class $(TOMCAT_HOME)/classes/servicefinder


$(TOMCAT_HOME)/webapps/jini/WEB-INF/classes/JiniFinder.class : JiniFinder.class
	cp JiniFinder.class $(TOMCAT_HOME)/webapps/jini/WEB-INF/classes

$(TOMCAT_HOME)/webapps/jini/WEB-INF/classes/ServiceInfo.class : ServiceInfo.class
	cp ServiceInfo.class $(TOMCAT_HOME)/webapps/jini/WEB-INF/classes

$(TOMCAT_HOME)/webapps/jini/WEB-INF/classes/InterfaceDefinition.class : InterfaceDefinition.class
	cp InterfaceDefinition.class $(TOMCAT_HOME)/webapps/jini/WEB-INF/classes

$(TOMCAT_HOME)/webapps/jini/WEB-INF/classes/AddLocator.class : AddLocator.class
	cp AddLocator.class $(TOMCAT_HOME)/webapps/jini/WEB-INF/classes


# These classes need to be known to the HTTP server
# for copying across to clients
HTML_CLASSES = \
	$(HTML_HOME)/$(CODEBASE)/servicefinder/ServiceFinder.class \
	$(HTML_HOME)/$(CODEBASE)/servicefinder/RemoteServiceFinder.class \


        $(HTML_HOME)/$(CODEBASE)/net/jini/lookup/ServiceDiscoveryManager\$$LookupCacheImpl\$$LookupListener_Stub.class : $(JINI_HOME)/lib/jini-ext.jar
	 unzip $(JINI_HOME)/lib/jini-ext.jar 'net/jini/lookup/ServiceDiscoveryManager\$$LookupCacheImpl\$$LookupListener_Stub.class' -d $(HTML_HOME)/$(CODEBASE)

#
# Stub relations
#
services/ServiceFinderImpl_Stub.class : services/ServiceFinderImpl.class
	rmic $(RMIC_ARGS) services.ServiceFinderImpl
	cp -P services/ServiceFinderImpl_Stub.class $(HTML_HOME)/$(CODEBASE)
	cp -P servicefinder/ServiceFinder.class $(HTML_HOME)/$(CODEBASE)
	cp -P servicefinder/RemoteServiceFinder.class $(HTML_HOME)/$(CODEBASE)

#
#
# HTML dependencies
#
$(HTML_HOME)/$(CODEBASE)/servicefinder/ServiceFinder.class: servicefinder/ServiceFinder.class
	cp -P servicefinder/ServiceFinder.class $(HTML_HOME)/$(CODEBASE)


$(HTML_HOME)/$(CODEBASE)/servicefinder/RemoteServiceFinder.class: servicefinder/RemoteServiceFinder.class
	cp -P servicefinder/RemoteServiceFinder.class $(HTML_HOME)/$(CODEBASE)

clean:
	rm -f  $(CLASSES) *~ */*~  *.zip core
	rm -rf *~







