.SUFFIXES :
.SUFFIXES : .java .class .cc .c .o

OREILLY = /home/oreilly

JINICLASSES = $(JINI)/lib/jini-core.jar:$(JINI)/lib/jini-ext.jar:$(JINI)/lib/sun-util.jar

SERVICE_DIR = /home/oreilly/java/jini/service
SERVICEDL_DIR = /home/oreilly/java/jini/service-dl
CLIENT_DIR = /home/oreilly/java/jini/client
CLIENTDL_DIR = /home/oreilly/java/jini/client-dl


.java.class :
	javac -classpath $(JINICLASSES) $<


SUBPATH = corejini/chapter5
SERVICE_CLASS = $(SERVICE_DIR)/$(SUBPATH)/HelloWorldService.class
SERVICE_CLASS2 = $(SERVICE_DIR)/$(SUBPATH)/LeasedService.class
SERVICE_CLASS3 = $(SERVICE_DIR)/$(SUBPATH)/BackendService.class
CLIENT_CLASS = $(CLIENT_DIR)/$(SUBPATH)/HelloWorldClient.class
CLIENT_CLASS2 = $(CLIENT_DIR)/$(SUBPATH)/EventClient.class
CLIENT_CLASS3 = $(CLIENT_DIR)/$(SUBPATH)/LeasedClient.class


$(SERVICE_CLASS):	HelloWorldService.java HelloWorldServiceInterface.java
	javac -classpath $(JINICLASSES):$(SERVICE_DIR) -d $(SERVICE_DIR) HelloWorldService.java HelloWorldServiceInterface.java
	cp $(SERVICE_DIR)/$(SUBPATH)/HelloWorldServiceProxy.class $(SERVICEDL_DIR)/$(SUBPATH)/.

$(SERVICE_CLASS2):	LeasedService.java HelloWorldServiceInterface.java
	javac -classpath $(JINICLASSES):$(SERVICE_DIR) -d $(SERVICE_DIR) LeasedService.java HelloWorldServiceInterface.java

$(SERVICE_CLASS3):	BackendService.java HelloWorldServiceInterface.java
	javac -classpath $(JINICLASSES):$(SERVICE_DIR) -d $(SERVICE_DIR) BackendService.java BackendProtocol.java HelloWorldServiceProxy2.java HelloWorldServiceInterface.java
	cp $(SERVICE_DIR)/$(SUBPATH)/HelloWorldServiceProxy2.class $(SERVICEDL_DIR)/$(SUBPATH)/.
	cp $(SERVICE_DIR)/$(SUBPATH)/HelloWorldServiceProxy2.class $(CLIENTDL_DIR)/$(SUBPATH)/.
	cp $(SERVICE_DIR)/$(SUBPATH)/BackendProtocol.class $(SERVICEDL_DIR)/$(SUBPATH)/.
	rmic -classpath $(JINICLASSES):$(SERVICE_DIR) -d $(SERVICE_DIR) corejini.chapter5.BackendService.Backend
	cp $(SERVICE_DIR)/$(SUBPATH)/BackendService*_Stub.class $(SERVICEDL_DIR)/$(SUBPATH)/.



$(CLIENT_CLASS):	HelloWorldClient.java HelloWorldServiceInterface.java
	javac -classpath $(JINICLASSES):$(SERVICE_DIR) -d $(CLIENT_DIR) HelloWorldClient.java HelloWorldServiceInterface.java


$(CLIENT_CLASS2):	EventClient.java HelloWorldServiceInterface.java
	javac -classpath $(JINICLASSES):$(SERVICE_DIR) -d $(CLIENT_DIR) EventClient.java HelloWorldServiceInterface.java HelloWorldClient.java
	rmic -classpath $(JINICLASSES):$(CLIENT_DIR) -d $(CLIENT_DIR) corejini.chapter5.EventClient.EventListener
	cp $(CLIENT_DIR)/$(SUBPATH)/EventClient*_Stub.class $(CLIENTDL_DIR)/$(SUBPATH)/.

$(CLIENT_CLASS3):	LeasedClient.java HelloWorldServiceInterface.java
	javac -classpath $(JINICLASSES):$(SERVICE_DIR) -d $(CLIENT_DIR) LeasedClient.java HelloWorldServiceInterface.java EventClient.java HelloWorldClient.java 


CLASSES = $(SERVICE_CLASS) $(SERVICE_CLASS2) $(SERVICE_CLASS3) \
	$(CLIENT_CLASS) $(CLIENT_CLASS2) $(CLIENT_CLASS3)


all:    $(CLASSES) 



clean:
	rm -f $(CLASSES)
	rm -f $(SERVICE_DIR)/$(SUBPATH)/*.class
	rm -f $(CLIENT_DIR)/$(SUBPATH)/*.class
	rm -f $(SERVICEDL_DIR)/$(SUBPATH)/*.class
	rm -f $(CLIENTDL_DIR)/$(SUBPATH)/*.class

