######################################################################
#
#  Makefile  -- SOAP Attachments example
#
#  AUTHOR   :  Chris Malley, cmalley@pixelzoom.com
#  REVISION : $Revision: 1.6 $ $Date: 2001/11/30 18:57:09 $
#
######################################################################

#---------------------------------------------------------------------
#
#  Prerequisites
#
#  (1) TOMCAT_HOME points to your Tomcat installation.
#  (2) CLASSPATH is set correctly.
#
#---------------------------------------------------------------------

#---------------------------------------------------------------------
#
#  Definitions
#
#---------------------------------------------------------------------

PACKAGE     = putget

# Build params
JARFILE     = $(PACKAGE).jar
OBJECTS     = $(PACKAGE)/Put.class \
              $(PACKAGE)/Get.class \
              $(PACKAGE)/Server.class

# Java
JAVA        = java -classpath $(CLASSPATH)
JAVAC       = javac -classpath $(CLASSPATH)

# Install params
INSTALLDIR  = $(TOMCAT_HOME)/lib

# SOAP service manager
MANAGER     = org.apache.soap.server.ServiceManagerClient
ROUTER      = http://localhost:8080/soap/servlet/rpcrouter

#---------------------------------------------------------------------
#
#  Rules
#
#---------------------------------------------------------------------

.SUFFIXES   : .class .java

%.class: %.java
	$(JAVAC) $*.java

#---------------------------------------------------------------------
#
#  Build targets
#
#---------------------------------------------------------------------

default: $(JARFILE)

$(JARFILE): $(OBJECTS)
	$(MAKE) $(OBJECTS)
	jar cvf $@ $(OBJECTS)

install:
	cp -p $(JARFILE) $(INSTALLDIR)

clean:
	$(RM) $(JARFILE) $(PACKAGE)/*.class

#---------------------------------------------------------------------
#
#  Service management
#
#---------------------------------------------------------------------

deploy:
	$(MAKE) undeploy
	$(JAVA) $(MANAGER) $(ROUTER) deploy putgetDD.xml
	$(MAKE) list

# URN must match putgetDD.xml
undeploy:
	$(JAVA) $(MANAGER) $(ROUTER) undeploy urn:putget

list:
	$(JAVA) $(MANAGER) $(ROUTER) list

#---------------------------------------------------------------------
#
#  Test cases
#
#---------------------------------------------------------------------

BINARY_FILE = hello.jpg

put:
	@echo "TEST CASE: put $(BINARY_FILE) -> /tmp/$(BINARY_FILE)"
	$(RM) /tmp/$(BINARY_FILE)
	$(JAVA) $(PACKAGE).Put $(ROUTER) $(BINARY_FILE) /tmp/$(BINARY_FILE)
	ls -l $(BINARY_FILE) /tmp/$(BINARY_FILE)

puterror:
	@echo "TEST CASE: put $(BINARY_FILE) -> /bogus/$(BINARY_FILE)"
	$(RM) /bogus/$(BINARY_FILE)
	$(JAVA) $(PACKAGE).Put $(ROUTER) $(BINARY_FILE) /bogus/$(BINARY_FILE)

get:
	@echo "TEST CASE: get /tmp/$(BINARY_FILE) -> foo.jpg"
	$(JAVA) $(PACKAGE).Get $(ROUTER) /tmp/$(BINARY_FILE) foo.jpg
	ls -l /tmp/$(BINARY_FILE) foo.jpg

geterror:
	@echo "TEST CASE: get /bogus/$(BINARY_FILE) -> foo.jpg"
	$(JAVA) $(PACKAGE).Get $(ROUTER) /bogus/$(BINARY_FILE) foo.jpg


######################################################################
# end of file
