#
# Copyright (c) 2001-2006 NeuStar, Inc. All Rights Reserved.
#
# $Id: Makefile,v 1.4 2008/04/24 22:00:14 wtan Exp $
#
# This is the Makefile for building EPP Java Implementation
#
# Top Makefile

all:: compile jars docs apidocs package test

TOP = .
include $(TOP)/src/Makefile.incl

compile:: compile_src 
package:: package_bin package_src package_doc

compile_src::
	@echo Building Source
	${MAKE} -C src

jars:: compile
	@echo Building Jar files in bin directory
	${MKDIR} class
	${MKDIR} bin
	${MAKE} -C src jars

docs:: ./src/classfiles_updated
	${MAKE} apidocs

apidocs::
	@echo Building apiDocs in docs directory.
	${MKDIR} docs/apiDocs
	${MAKE} -C src apidocs

package_bin:: jars apidocs ${BINZIPFILE}
${BINZIPFILE}:: ./src/classfiles_updated
	@echo Building the binary release package
	${MKDIR} bin
	${CP} LICENSE bin
	${CP} CHANGELOG bin
	${CP} EPP-1.0-MIGRATION-GUIDE bin
	${CP} xsd/*.xsd bin
	${MV} bin epp-${PRODUCTVERSION}
	${MKDIR} epp-${PRODUCTVERSION}/test
	${CP} test/RunTestTcp            epp-${PRODUCTVERSION}/test
	${CP} test/EppTestClient.java    epp-${PRODUCTVERSION}/test
	${CP} test/EppTestServerTcp.java epp-${PRODUCTVERSION}/test
	${CP} test/testkeys.*            epp-${PRODUCTVERSION}/test
	$(JAR) cvfM ${BINZIPFILE} epp-${PRODUCTVERSION} 
	$(MV) epp-${PRODUCTVERSION} bin

package_src:: ${SRCZIPFILE}
${SRCZIPFILE}: ./src/classfiles_updated
	@echo Building the source release package
	${MAKE} -C src package_src
	$(MV) source epp-${PRODUCTVERSION}
	$(JAR) cvfM ${SRCZIPFILE} epp-${PRODUCTVERSION} 
	$(MV) epp-${PRODUCTVERSION} source

package_doc:: jars apidocs ${DOCZIPFILE}
${DOCZIPFILE}: ./src/classfiles_updated
	@echo Building the document release package
	$(JAR) cvfM ${DOCZIPFILE} docs

dist:: ${DOCZIPFILE} ${SRCZIPFILE} ${BINZIPFILE}
	cp ${DOCZIPFILE} ../../doc
	cp ${DOCZIPFILE} ../../bin/java
	cp ${BINZIPFILE} ${SRCZIPFILE} ../../bin/java

test:: jars
	${MAKE} -C test

clean::
	${MAKE} -C src clean
	${MAKE} -C test clean
	${RM} -rf bin/*.jar class source docs/apiDocs docs/html 
	${RM} ${BINZIPFILE} ${SRCZIPFILE} ${DOCZIPFILE}
	find . -name '*~' -exec rm \{\} \;
