# # The Apache Software License, Version 1.1 # # Copyright (c) 1999-2000 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) 1999, International # Business Machines, Inc., http://www.ibm.com . For more information # on the Apache Software Foundation, please see # . # # # $Id$ # ################################################################### # IMPORTANT NOTE # ################################################################### # Before you try to run the Makefile, make sure you have two # # environment variables set. # # # # export XERCESCROOT= # # export ICUROOT= # # # ################################################################### #MACROS defining commands MKDIR=mkdir CP=cp CD=cd RM=rm CHMODE=chmod include ../version.incl include Makefile.incl UTIL_DIR = util SAX_DIR = sax SAX2_DIR = sax2 INTERNAL_DIR = internal FRAMEWORK_DIR = framework DOM_DIR = dom IDOM_DIR = idom PARSERS_DIR = parsers VALIDATORS_DIR = validators LIBNAME = libxerces-c THISLIB = ${XML_LIB_DIR}/${LIBNAME} #all these setting come from the arguments passed in to runConfigure. PLATFORM = @platform@ CC = @cc@ CXX = @cxx@ PREFIX = @prefix@ MESSAGELOADER=@messageloader@ TRANSCODER=@transcoder@ PRODUCTNAME=xerces PRODUCTVERSION=${VER} BINTARGETDIR=${HOME}/${PRODUCTNAME}-c-${PLATFORM}-${CXX}-${PRODUCTVERSION} all:: lib compile:: Prepare Util Sax Internal Framework Parsers Sax2 Dom IDom Validators lib:: ${THISLIB}${VER}${SHLIBSUFFIX} Prepare:: @echo Preparing the directory structure for a build ... -${MKDIR} -p ${XML_OBJ_DIR} -${MKDIR} -p ${XML_LIB_DIR} ${CD} $(UTIL_DIR) ; $(MAKE) includes ; ${CD} .. ${CD} $(SAX_DIR) ; $(MAKE) includes ; ${CD} .. ${CD} $(SAX2_DIR) ; $(MAKE) includes ; ${CD} .. ${CD} $(INTERNAL_DIR) ; $(MAKE) includes ; ${CD} .. ${CD} $(FRAMEWORK_DIR) ; $(MAKE) includes ; ${CD} .. ${CD} $(PARSERS_DIR) ; $(MAKE) includes ; ${CD} .. ${CD} $(VALIDATORS_DIR) ; $(MAKE) includes ; ${CD} .. ${CD} $(DOM_DIR) ; $(MAKE) includes ; ${CD} .. ${CD} $(IDOM_DIR) ; $(MAKE) includes ; ${CD} .. Util:: @echo Building "util" ${CD} $(UTIL_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. Sax:: @echo Building "sax" ${CD} $(SAX_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. Internal:: @echo Building "internal" ${CD} $(INTERNAL_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. Framework:: @echo Building "framework" ${CD} $(FRAMEWORK_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. Parsers:: @echo Building "parsers" ${CD} $(PARSERS_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. Sax2:: @echo Building "sax2" ${CD} $(SAX2_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. Dom:: @echo Building "dom" ${CD} $(DOM_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. IDom:: @echo Building "idom" ${CD} $(IDOM_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. Validators:: @echo Building "validators" ${CD} $(VALIDATORS_DIR) ; $(MAKE) $(MAKE_FLAGS) ; ${CD} .. ${THISLIB}${VER}${SHLIBSUFFIX}:: compile @echo Building ${THISLIB}${VER}${SHLIBSUFFIX} ${CD} $(XML_OBJ_DIR)/.. ; $(MAKE) -k $(MAKE_FLAGS) ; ${CD} .. install:: ${CD} $(UTIL_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(SAX_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(SAX2_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(INTERNAL_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(FRAMEWORK_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(PARSERS_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(DOM_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(IDOM_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(VALIDATORS_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(XML_OBJ) && $(MAKE) $@ && ${CD} .. clean:: ${CD} $(UTIL_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(SAX_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(SAX2_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(INTERNAL_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(FRAMEWORK_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(PARSERS_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(DOM_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(IDOM_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(VALIDATORS_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(XML_OBJ) && $(MAKE) $@ && ${CD} .. distclean:: ${CD} $(UTIL_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(SAX_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(SAX2_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(INTERNAL_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(FRAMEWORK_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(PARSERS_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(DOM_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(IDOM_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(VALIDATORS_DIR) && $(MAKE) $@ && ${CD} .. ${CD} $(XML_OBJ) && $(MAKE) $@ && ${CD} .. rm -f Makefile config.cache config.log config.status find . -name Makefile -print -exec rm -f {} \; rm -f *~ core #docs:: samples:: ${CD} ../samples; ${MAKE}; ${CD} ../src copy:: lib samples @echo Make the target directory and its main subdirectories -${MKDIR} ${BINTARGETDIR} -${MKDIR} ${BINTARGETDIR}/bin -${MKDIR} ${BINTARGETDIR}/lib ifeq (${TRANSCODER},ICU) echo -${MKDIR} ${BINTARGETDIR}/include/unicode endif ifeq (${MESSAGELOADER},ICU) echo -${MKDIR} ${BINTARGETDIR}/include/unicode endif -${MKDIR} ${BINTARGETDIR}/include -${MKDIR} ${BINTARGETDIR}/include/sax -${MKDIR} ${BINTARGETDIR}/include/sax2 -${MKDIR} ${BINTARGETDIR}/include/framework -${MKDIR} ${BINTARGETDIR}/include/internal -${MKDIR} ${BINTARGETDIR}/include/parsers -${MKDIR} ${BINTARGETDIR}/include/util -${MKDIR} ${BINTARGETDIR}/include/dom -${MKDIR} ${BINTARGETDIR}/include/idom -${MKDIR} ${BINTARGETDIR}/samples -${MKDIR} ${BINTARGETDIR}/samples/data -${MKDIR} ${BINTARGETDIR}/samples/SAXCount -${MKDIR} ${BINTARGETDIR}/samples/SAXPrint -${MKDIR} ${BINTARGETDIR}/samples/DOMCount -${MKDIR} ${BINTARGETDIR}/samples/DOMPrint -${MKDIR} ${BINTARGETDIR}/samples/IDOMCount -${MKDIR} ${BINTARGETDIR}/samples/IDOMPrint -${MKDIR} ${BINTARGETDIR}/samples/Redirect -${MKDIR} ${BINTARGETDIR}/samples/MemParse -${MKDIR} ${BINTARGETDIR}/doc -${MKDIR} ${BINTARGETDIR}/doc/apiDocs @echo Populate the include output directory @echo Copying headers files ... -${CP} -Rf ${XERCESCROOT}/src/sax/*.hpp ${BINTARGETDIR}/include/sax -${CP} -Rf ${XERCESCROOT}/src/sax2/*.hpp ${BINTARGETDIR}/include/sax2 -${CP} -Rf ${XERCESCROOT}/src/framework/*.hpp ${BINTARGETDIR}/include/framework -${CP} -Rf ${XERCESCROOT}/src/dom/DOM*.hpp ${BINTARGETDIR}/include/dom -${CP} -Rf ${XERCESCROOT}/src/idom/IDOM*.hpp ${BINTARGETDIR}/include/idom -${CP} -Rf ${XERCESCROOT}/src/internal/*.hpp ${BINTARGETDIR}/include/internal -${CP} -Rf ${XERCESCROOT}/src/internal/*.c ${BINTARGETDIR}/include/internal -${CP} -Rf ${XERCESCROOT}/src/parsers/*.hpp ${BINTARGETDIR}/include/parsers -${CP} -Rf ${XERCESCROOT}/src/util/*.hpp ${BINTARGETDIR}/include/util -${CP} -Rf ${XERCESCROOT}/src/util/*.c ${BINTARGETDIR}/include/util -${CP} -Rf ${ICUROOT}/include/* ${BINTARGETDIR}/include/unicode @echo Populate the binary output directory @echo Copying binary outputs ... -${CP} -Rf ${XERCESCROOT}/bin/* ${BINTARGETDIR}/bin -${CP} -f ${ICUROOT}/source/tools/makeconv/makeconv ${BINTARGETDIR}/bin -${CP} -f ${ICUROOT}/lib/libicuuc.* ${BINTARGETDIR}/lib -${CP} -f ${XERCESCROOT}/lib/*.a ${BINTARGETDIR}/lib -${CP} -f ${XERCESCROOT}/lib/*.so ${BINTARGETDIR}/lib -${CP} -f ${XERCESCROOT}/lib/*.sl ${BINTARGETDIR}/lib ifeq (${MESSAGELOADER},ICONV) ifeq (${PLATFORM},SOLARIS) -${CP} -f ${XERCESCROOT}/lib/msg/*.cat ${BINTARGETDIR}/lib/msg endif ifeq (${PLATFORM},AIX) -${CP} -f ${XERCESCROOT}/lib/msg/*.cat ${BINTARGETDIR}/lib/msg endif endif -{RM} -rf ${BINTARGETDIR}/bin/obj @echo Populate the samples directory @echo Copying sample files ... -${CP} -f ${XERCESCROOT}/samples/config.guess ${BINTARGETDIR}/samples -${CP} -f ${XERCESCROOT}/samples/config.h.in ${BINTARGETDIR}/samples -${CP} -f ${XERCESCROOT}/samples/config.sub ${BINTARGETDIR}/samples -${CP} -f ${XERCESCROOT}/samples/configure ${BINTARGETDIR}/samples -${CP} -f ${XERCESCROOT}/samples/configure.in ${BINTARGETDIR}/samples -${CP} -f ${XERCESCROOT}/samples/install-sh ${BINTARGETDIR}/samples -${CP} -f ${XERCESCROOT}/samples/runConfigure ${BINTARGETDIR}/samples -${CP} -f ${XERCESCROOT}/samples/Makefile.in ${BINTARGETDIR}/samples -${CP} -f ${XERCESCROOT}/samples/Makefile.incl ${BINTARGETDIR}/samples -${CP} -Rf ${XERCESCROOT}/samples/data/* ${BINTARGETDIR}/samples/data -${CP} -Rf ${XERCESCROOT}/samples/SAXCount/* ${BINTARGETDIR}/samples/SAXCount -${CP} -Rf ${XERCESCROOT}/samples/SAXPrint/* ${BINTARGETDIR}/samples/SAXPrint -${CP} -Rf ${XERCESCROOT}/samples/DOMCount/* ${BINTARGETDIR}/samples/DOMCount -${CP} -Rf ${XERCESCROOT}/samples/DOMPrint/* ${BINTARGETDIR}/samples/DOMPrint -${CP} -Rf ${XERCESCROOT}/samples/IDOMCount/* ${BINTARGETDIR}/samples/IDOMCount -${CP} -Rf ${XERCESCROOT}/samples/IDOMPrint/* ${BINTARGETDIR}/samples/IDOMPrint -${CP} -Rf ${XERCESCROOT}/samples/Redirect/* ${BINTARGETDIR}/samples/Redirect -${CP} -Rf ${XERCESCROOT}/samples/MemParse/* ${BINTARGETDIR}/samples/MemParse @echo Populate the docs directory @echo Copying documentation .. -${CP} -Rf ${XERCESCROOT}/doc/* ${BINTARGETDIR}/doc -${CP} -Rf ${XERCESCROOT}/doc/apiDocs/* ${BINTARGETDIR}/doc/apiDocs -${CP} ${XERCESCROOT}/Readme.html ${BINTARGETDIR} -${CP} ${XERCESCROOT}/doc/license.html ${BINTARGETDIR} @echo Change the directory permissions -{CHMODE} 644 `find ${BINTARGETDIR} -type f` -{CHMODE} 755 ${BINTARGETDIR}/bin/* ${BINTARGETDIR}/lib/*.sl ${BINTARGETDIR}/lib/*.so ${BINTARGETDIR}/lib/*.a -{CHMODE} +x ${BINTARGETDIR}/samples/runConfigure ${BINTARGETDIR}/samples/configure ${BINTARGETDIR}/samples/install-sh -{CHMODE} +x ${BINTARGETDIR}/samples/config.sub ${BINTARGETDIR}/samples/config.guess ${BINTARGETDIR}/samples/config.status -{CHMODE} 755 `find ${BINTARGETDIR} -type d` tarball:: copy @echo Now package it all up using tar @echo TARing up all files ... ${CD} ${BINTARGETDIR}/.. tar -cvf ${BINTARGETDIR}.tar ${BINTARGETDIR} @echo Finally compress the files @echo Compressing ${BINTARGETDIR}.tar ... gzip ${BINTARGETDIR}.tar zip:: copy ${CD} ${BINTARGETDIR}/.. @echo ZIPping up all files ... zip -r ${BINTARGETDIR}.zip ${BINTARGETDIR} package_bin:: zip tarball