#
# 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.7  2003/01/29 19:48:06  gareth
# updated for PSVIDefs.hpp
#
# Revision 1.6  2002/09/17 21:24:39  peiyongz
# RPM for Xerces2.1.0, patch from Thomas Woerner (thomas@linux.de)
#
# Revision 1.5  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.4  2002/05/21 19:33:44  tng
# DOM Reorganization: rename XSDIDOMParser to XSDDOMParser
#
# Revision 1.3  2002/03/21 15:34:40  knoaman
# Add support for reporting line/column numbers of schema errors.
#
# Revision 1.2  2002/02/11 18:19:19  tng
# [Bug 2715] Build recursion suppresses make failures.
#
# Revision 1.1.1.1  2002/02/01 22:22:45  peiyongz
# sane_include
#
# Revision 1.18  2001/11/02 14:13:45  knoaman
# Add support for identity constraints.
#
# Revision 1.17  2001/08/22 11:33:43  tng
# typo: XercesElementWildcard
#
# Revision 1.16  2001/08/21 15:58:42  tng
# Schema: New files XercesElementWildCard.
#
# Revision 1.15  2001/07/31 15:26:54  knoaman
# Added support for <attributeGroup>.
#
# Revision 1.14  2001/07/24 20:13:30  knoaman
# Added support for <group> + extra constraint checking for complexType
#
# Revision 1.13  2001/07/06 17:12:13  tng
# Automatic build of single-threaded library.  By Martin Kalen.
#
# Revision 1.12  2001/06/27 17:09:56  tng
# [Bug 1147] Headers install in wrong directory.  By Murray Cumming.
#
# Revision 1.11  2001/05/15 21:59:32  knoaman
# TraverseSchema: add attribute checking + some fixes + more error messages.
# More attribute cheking to come.
#
# Revision 1.10  2001/05/11 13:27:32  tng
# Copyright update.
#
# Revision 1.9  2001/05/10 16:33:15  knoaman
# Traverse Schema Part III + error messages.
#
# Revision 1.8  2001/05/03 20:34:42  tng
# Schema: SchemaValidator update
#
# Revision 1.7  2001/05/03 19:17:57  knoaman
# TraverseSchema Part II.
#
# Revision 1.6  2001/04/19 17:43:14  knoaman
# More schema implementation classes.
#
# Revision 1.5  2001/04/04 18:02:04  tng
# Schema: include failure on Unix for XUtil.cpp.  Fixed by Pei Yong Zhang.
#
# Revision 1.4  2001/03/30 16:06:00  tng
# Schema: XUtil, added by Pei Yong Zhang
#
# Revision 1.3  2001/03/21 21:56:33  tng
# Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
#
# Revision 1.2  2001/03/21 21:39:19  knoaman
# Schema symbols and Datatype validator part I
#
# Revision 1.1  2001/02/27 18:48:22  tng
# Schema: Add SchemaAttDef, SchemaElementDecl, SchemaAttDefList.
#
#

PLATFORM = @platform@
CC  = @cc@
CXX = @cxx@
GCC = @GCC@
GXX = @GXX@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
PREFIX_INCLUDE = @prefix_include@
LDFLAGS = @ldflags@
LIBS = @libs@
OSVER = @osver@
USELIBWWW = @uselibwww@
MESSAGELOADER = @messageloader@
TRANSCODER = @transcoder@
THREADS = @threads@

include ../../Makefile.incl

MODULE = validators
SUBMODULE = schema
XML_INCL := $(XML_INCL) -I$(XERCESCROOT)/src

VALIDATORS_SCHEMA_CPP_PUBHEADERS = \
	ComplexTypeInfo.hpp \
	GeneralAttributeCheck.hpp \
	NamespaceScope.hpp \
	PSVIDefs.hpp \
	SchemaAttDef.hpp \
	SchemaAttDefList.hpp \
	SchemaElementDecl.hpp \
	SchemaGrammar.hpp \
	SchemaInfo.hpp \
	SchemaSymbols.hpp \
	SchemaValidator.hpp \
	SubstitutionGroupComparator.hpp \
	TraverseSchema.hpp \
	XercesAttGroupInfo.hpp \
	XercesElementWildcard.hpp \
	XercesGroupInfo.hpp \
	XUtil.hpp \
	XSDDOMParser.hpp \
	XSDLocator.hpp \
	XSDErrorReporter.hpp

VALIDATORS_SCHEMA_CPP_PRIVHEADERS =

VALIDATORS_SCHEMA_C_FILES =

VALIDATORS_SCHEMA_CPP_OBJECTS = \
	ComplexTypeInfo.$(TO) \
	GeneralAttributeCheck.$(TO) \
	NamespaceScope.$(TO) \
	SchemaAttDef.$(TO) \
	SchemaAttDefList.$(TO) \
	SchemaElementDecl.$(TO) \
	SchemaGrammar.$(TO) \
	SchemaInfo.$(TO) \
	SchemaSymbols.$(TO) \
	SchemaValidator.$(TO) \
	SubstitutionGroupComparator.$(TO) \
	TraverseSchema.$(TO) \
	XercesAttGroupInfo.$(TO) \
	XercesElementWildcard.$(TO) \
	XercesGroupInfo.$(TO) \
	XUtil.$(TO) \
	XSDDOMParser.$(TO) \
	XSDLocator.$(TO) \
	XSDErrorReporter.$(TO)

all::	includes $(VALIDATORS_SCHEMA_CPP_OBJECTS) identity

includes::	pubheaders $(VALIDATORS_SCHEMA_C_FILES)
	${MAKE} -C identity $@

identity::
	${MAKE} -C identity

pubheaders::
	-mkdir -p $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)
	$(CP) $(VALIDATORS_SCHEMA_CPP_PUBHEADERS) $(VALIDATORS_SCHEMA_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_SCHEMA_CPP_OBJECTS))
	${MAKE} -C identity $@

distclean::	clean
	$(RM) Makefile $(DEPFILE)
	@echo "Removing all $(MODULE)/$(SUBMODULE) header files ..."
	$(RM2) $(addprefix $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)/,$(VALIDATORS_SCHEMA_CPP_PUBHEADERS))
	${MAKE} -C identity $@

install::
	-mkdir -p $(DESTDIR)$(PREFIX_INCLUDE)/$(MODULE)/$(SUBMODULE)
	$(CP) $(VALIDATORS_SCHEMA_CPP_PUBHEADERS) $(VALIDATORS_SCHEMA_C_FILES) $(DESTDIR)$(PREFIX_INCLUDE)/$(MODULE)/$(SUBMODULE)
	${MAKE} -C identity $@
