#
# Copyright (c) 2001-2006 NeuStar, Inc. All Rights Reserved.
#
# $Id: Makefile,v 1.3 2007/08/30 21:58:52 wtan Exp $
#
# This is the Makefile for building EPP C++ Implementation
#
# Makefile for directory . (test)

TOP=..
DIRS=
include $(TOP)/src/Makefile.plat

HDRS=\

SRCS=\
	EppTestCore.cpp		\
	EppTestCommand.cpp	\
	EppTestResponse.cpp	\
	EppTestSSL.cpp	\
	EppTestServer.cpp	\
	EppTestSecDns.cpp	\

OBJS=\
	EppTestCore.$(O)	\
	EppTestCommand.$(O)	\
	EppTestResponse.$(O)	\
	EppTestSSL.$(O)	\
	EppTestServer.$(O)	\
	EppTestSecDns.$(O)	\

BINS=\
	EppTestCore$(EXE)	\
	EppTestCommand$(EXE)	\
	EppTestResponse$(EXE)	\
	EppTestServerTcp$(EXE)	\
	EppTestSSL$(EXE)	\
	EppTestSecDns$(EXE)	\

TESTS=\
	EppTestCore	\
	EppTestCommand	\
	EppTestResponse	\
	EppTestSSL	\
	EppTestSecDns	\

LIBNAME=libepp-c
THISLIB=${EPP_LIB_DIR}/${LIBNAME}${PRODUCTVERSION}${SHLIBSUFFIX}

LIBS=\
	${THISLIB} ${XERCES_LIB} ${OPENSSL_LIB} -ldl

TARGETS=$(BINS)

include $(TOP)/src/Makefile.incl

ifeq (${PLATFORM}, win32)
DEBUG_OPT = /Zi /Od
DDLS=$(XERCES_C_DLL) $(OPENSSL_DDL)
else
DEBUG_OPT = -g
DDLS=
endif

XSDS = epp-1.0.xsd eppcom-1.0.xsd contact-1.0.xsd domain-1.0.xsd host-1.0.xsd svcsub-1.0.xsd

#
# Common rules (test only)
#

ifeq (${PLATFORM}, solaris)
CC2 =	$(CC1) $(DEBUG_OPT) -lpthread
else
CC2 =	$(CC1) $(DEBUG_OPT)
endif

clean::
	${RM} -rf *.$(O) *.xsd xml ${BINS} *.pdb *.ilk

EppTestCore$(EXE): EppTestCore.$(O) ${LIBS}
	$(CC2) -o $(@) $(<) ${ALLLIBS}

EppTestCommand$(EXE): EppTestCommand.$(O) ${LIBS}
	$(CC2) -o $(@) $(<) ${ALLLIBS}

EppTestResponse$(EXE): EppTestResponse.$(O) ${LIBS}
	$(CC2) -o $(@) $(<) ${ALLLIBS}

EppTestSSL$(EXE): EppTestSSL.$(O) ${LIBS}
	$(CC2) -o $(@) $(<) ${ALLLIBS}

EppTestServerTcp$(EXE): EppTestServerTcp.$(O) ${LIBS}
	$(CC2) -o $(@) $(<) ${ALLLIBS}

EppTestSecDns$(EXE): EppTestSecDns.$(O) ${LIBS}
	$(CC2) -o $(@) $(<) ${ALLLIBS}

#
# Copy EPP Schema files from ../xsd
#
epp-1.0.xsd:: ../xsd/epp-1.0.xsd
	${CP} -p $< $@

eppcom-1.0.xsd:: ../xsd/eppcom-1.0.xsd
	${CP} -p $< $@

contact-1.0.xsd:: ../xsd/contact-1.0.xsd
	${CP} -p $< $@

domain-1.0.xsd:: ../xsd/domain-1.0.xsd
	${CP} -p $< $@

host-1.0.xsd:: ../xsd/host-1.0.xsd
	${CP} -p $< $@

svcsub-1.0.xsd:: ../xsd/svcsub-1.0.xsd
	${CP} -p $< $@

epp.xml::
	${RM} -rf xml
	${CP} -pr ../xsd/xml .
#
# Test all
#
testall:	$(TARGETS) $(XSDS)
	echo "Test all..."
	@for i in $(TESTS) ; do \
		echo "Performing $$i ..." ; \
		./$$i ; \
	done
