#
# The Apache Software License, Version 1.1
#
# Copyright (c) 2001 The Apache Software Foundation.  All rights
# reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in
#    the documentation and/or other materials provided with the
#    distribution.
#
# 3. The end-user documentation included with the redistribution,
#    if any, must include the following acknowledgment:
#       "This product includes software developed by the
#        Apache Software Foundation (http://www.apache.org/)."
#    Alternately, this acknowledgment may appear in the software itself,
#    if and wherever such third-party acknowledgments normally appear.
#
# 4. The names "Xerces" and "Apache Software Foundation" must
#    not be used to endorse or promote products derived from this
#    software without prior written permission. For written
#    permission, please contact apache\@apache.org.
#
# 5. Products derived from this software may not be called "Apache",
#    nor may "Apache" appear in their name, without prior written
#    permission of the Apache Software Foundation.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# ====================================================================
#
# This software consists of voluntary contributions made by many
# individuals on behalf of the Apache Software Foundation, and was
# originally based on software copyright (c) 2001, International
# Business Machines, Inc., http://www.ibm.com .  For more information
# on the Apache Software Foundation, please see
# <http://www.apache.org/>.
#
#
# $Log: Makefile.in,v $
# Revision 1.2  2002/07/26 16:49:29  tng
# [Bug 2681] Can't build with gcc/g++ not named 'gcc'/'g++'.  Patch from Jonathan Lennox.
#
# Revision 1.1.1.1  2002/02/01 22:22:42  peiyongz
# sane_include
#
# Revision 1.22  2001/11/07 19:18:52  peiyongz
# DateTime Port
#
# Revision 1.21  2001/10/01 16:14:22  peiyongz
# DTV Reorganization:new classes: AbstractNumericFactValidator/ AbstractNumericValidator
#
# Revision 1.20  2001/09/25 16:08:26  peiyongz
# DTV Reorganization: Create native NameDTV and NCNameDTV
#
# Revision 1.19  2001/09/18 16:00:54  peiyongz
# DTV reorganization: AbstractStringValidator
#
# Revision 1.18  2001/08/24 17:12:01  knoaman
# Add support for anySimpleType.
# Remove parameter 'baseValidator' from the virtual method 'newInstance'.
#
# Revision 1.17  2001/08/01 18:49:16  peiyongz
# AnyRUIDatatypeValidator
#
# Revision 1.16  2001/07/26 20:40:56  peiyongz
# FloatDatatypeValidator
#
# Revision 1.15  2001/07/24 13:59:03  peiyongz
# DoubleDTV
#
# Revision 1.14  2001/07/13 14:10:37  peiyongz
# UnionDTV
#
# Revision 1.13  2001/07/11 21:37:15  peiyongz
# ListDatatypeDTV
#
# Revision 1.12  2001/07/06 20:21:46  peiyongz
# QNameDTV & ENTITYDTV enabled
#
# Revision 1.11  2001/07/06 17:12:11  tng
# Automatic build of single-threaded library.  By Martin Kalen.
#
# Revision 1.10  2001/07/05 20:15:26  peiyongz
# NOTATIONDatatypeValidator
#
# Revision 1.9  2001/07/04 20:16:31  peiyongz
# IDREFDatatypeValidator
#
# Revision 1.8  2001/07/04 15:22:55  peiyongz
# IDDatatypeValidator
#
# Revision 1.7  2001/06/27 17:09:52  tng
# [Bug 1147] Headers install in wrong directory.  By Murray Cumming.
#
# Revision 1.6  2001/05/16 15:24:44  tng
# Schema: Add Base64 and HexBin.  By Pei Yong Zhang.
#
# Revision 1.5  2001/05/11 13:27:29  tng
# Copyright update.
#
# Revision 1.4  2001/05/10 20:51:31  tng
# Schema: Add DecimalDatatypeValidator and XMLBigDecimal, XMLBigInteger.  By Pei Yong Zhang.
#
# Revision 1.3  2001/05/09 18:43:41  tng
# Add StringDatatypeValidator and BooleanDatatypeValidator.  By Pei Yong Zhang.
#
# Revision 1.2  2001/03/21 21:39:15  knoaman
# Schema symbols and Datatype validator part I
#
# Revision 1.1  2001/02/15 18:41:50  tng
# Schema: Exception Handling added by Pei Yong Zhang.  Add NumberFormatException, ParseException,
# InvalidDatatypeFacetException, and InvalidDatatypeValueException.  The associated
# Makefile.in and configure.in are updated.
#
#

PLATFORM = LINUX
CC  = gcc
CXX = g++
GCC = yes
GXX = yes
CXXFLAGS =   -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET  
CFLAGS =   -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET   
PREFIX = /usr/local
PREFIX_INCLUDE = ${PREFIX}/include/xercesc
LDFLAGS =    
LIBS =  -lpthread 
OSVER = 
USELIBWWW = 
MESSAGELOADER = INMEM
TRANSCODER = NATIVE
THREADS = pthread

include ../../Makefile.incl

MODULE = validators
SUBMODULE = datatype

VALIDATORS_DATATYPE_CPP_PUBHEADERS = \
	InvalidDatatypeFacetException.hpp \
	InvalidDatatypeValueException.hpp \
	DatatypeValidator.hpp \
	DatatypeValidatorFactory.hpp \
	Base64BinaryDatatypeValidator.hpp \
	BooleanDatatypeValidator.hpp \
	DecimalDatatypeValidator.hpp \
	HexBinaryDatatypeValidator.hpp \
	StringDatatypeValidator.hpp \
	IDDatatypeValidator.hpp \
	NOTATIONDatatypeValidator.hpp \
	ENTITYDatatypeValidator.hpp \
	QNameDatatypeValidator.hpp \
	NameDatatypeValidator.hpp \
	NCNameDatatypeValidator.hpp \
	ListDatatypeValidator.hpp \
	UnionDatatypeValidator.hpp \
	DoubleDatatypeValidator.hpp \
	FloatDatatypeValidator.hpp \
	AnyURIDatatypeValidator.hpp \
	IDREFDatatypeValidator.hpp \
	AnySimpleTypeDatatypeValidator.hpp \
	AbstractNumericFacetValidator.hpp \
	AbstractNumericValidator.hpp \
	AbstractStringValidator.hpp \
	DateTimeValidator.hpp \
	DateTimeDatatypeValidator.hpp \
	DateDatatypeValidator.hpp \
	TimeDatatypeValidator.hpp \
	DayDatatypeValidator.hpp \
	MonthDatatypeValidator.hpp \
	MonthDayDatatypeValidator.hpp \
	YearDatatypeValidator.hpp \
	YearMonthDatatypeValidator.hpp \
	DurationDatatypeValidator.hpp

VALIDATORS_DATATYPE_CPP_PRIVHEADERS =

VALIDATORS_DATATYPE_C_FILES =

VALIDATORS_DATATYPE_CPP_OBJECTS = \
	DatatypeValidator.$(TO) \
	DatatypeValidatorFactory.$(TO) \
	Base64BinaryDatatypeValidator.$(TO) \
	BooleanDatatypeValidator.$(TO) \
	DecimalDatatypeValidator.$(TO) \
	HexBinaryDatatypeValidator.$(TO) \
	StringDatatypeValidator.$(TO) \
	IDDatatypeValidator.$(TO) \
	NOTATIONDatatypeValidator.$(TO) \
	ENTITYDatatypeValidator.$(TO) \
	QNameDatatypeValidator.$(TO) \
	NameDatatypeValidator.$(TO) \
	NCNameDatatypeValidator.$(TO) \
	ListDatatypeValidator.$(TO) \
	UnionDatatypeValidator.$(TO) \
	DoubleDatatypeValidator.$(TO) \
	FloatDatatypeValidator.$(TO) \
	AnyURIDatatypeValidator.$(TO) \
	IDREFDatatypeValidator.$(TO) \
	AnySimpleTypeDatatypeValidator.$(TO) \
	AbstractNumericFacetValidator.$(TO) \
	AbstractNumericValidator.$(TO) \
	AbstractStringValidator.$(TO) \
	DateTimeValidator.$(TO) \
	DateTimeDatatypeValidator.$(TO) \
	DateDatatypeValidator.$(TO) \
	TimeDatatypeValidator.$(TO) \
	DayDatatypeValidator.$(TO) \
	MonthDatatypeValidator.$(TO) \
	MonthDayDatatypeValidator.$(TO) \
	YearDatatypeValidator.$(TO) \
	YearMonthDatatypeValidator.$(TO) \
	DurationDatatypeValidator.$(TO)

all::	includes $(VALIDATORS_DATATYPE_CPP_OBJECTS)

includes::	pubheaders $(VALIDATORS_DATATYPE_C_FILES)

pubheaders::
	-mkdir -p $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)
	$(CP) $(VALIDATORS_DATATYPE_CPP_PUBHEADERS) $(VALIDATORS_DATATYPE_C_FILES) $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)

# this may generate unnecessary dependencies, but it makes life easier
depend:: includes
	$(MAKE_DEPEND) $(XML_INCL)  *.cpp > $(DEPFILE)

clean::
	@echo "Making clean in $(MODULE)/$(SUBMODULE) ..."
	$(RM2) $(addprefix $(XML_OBJ_DIR)/,$(VALIDATORS_DATATYPE_CPP_OBJECTS))

distclean::	clean
	$(RM) Makefile $(DEPFILE)
	@echo "Removing all $(MODULE)/$(SUBMODULE) header files ..."
	$(RM2) $(addprefix $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)/,$(VALIDATORS_DATATYPE_CPP_PUBHEADERS))

install::
	-mkdir -p $(PREFIX_INCLUDE)/$(MODULE)/$(SUBMODULE)
	$(CP) $(VALIDATORS_DATATYPE_CPP_PUBHEADERS) $(VALIDATORS_DATATYPE_C_FILES) $(PREFIX_INCLUDE)/$(MODULE)/$(SUBMODULE)
