| # |
| # 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 |
| # <http://www.apache.org/>. |
| # |
| # |
| # $Id$ |
| # |
| |
| ################################################################### |
| # IMPORTANT NOTE # |
| ################################################################### |
| # Before you try to run the Makefile, make sure you have two # |
| # environment variables set. # |
| # # |
| # export XERCESCROOT=<the directory where you installed XERCES-C> # |
| # export ICUROOT=<the directory where you installed ICU> # |
| # # |
| ################################################################### |
| #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 |
| PARSERS_DIR = parsers |
| VALIDATORS_DIR = validators |
| |
| LIBNAME = libxerces-c |
| |
| #all these setting come from the arguments passed in to runConfigure. |
| PLATFORM = @platform@ |
| CC = @cc@ |
| CXX = @cxx@ |
| PREFIX = @prefix@ |
| MESSAGELOADER=@messageloader@ |
| TRANSCODER=@transcoder@ |
| |
| GCC = @GCC@ |
| GXX = @GXX@ |
| |
| PRODUCTNAME=xerces |
| PRODUCTVERSION=${VER} |
| BINTARGETDIR=${HOME}/${PRODUCTNAME}-c-${PLATFORM}-${CXX}-${PRODUCTVERSION} |
| |
| all:: lib |
| |
| compile:: Prepare Util Sax Internal Framework Parsers Sax2 Dom Validators |
| |
| lib:: ${FQ_REAL_NAME} |
| |
| Prepare:: |
| @echo Preparing the directory structure for a build ... |
| -${MKDIR} -p ${XML_OBJ_DIR} |
| -${MKDIR} -p ${XML_LIB_DIR} |
| ${MAKE} -C $(UTIL_DIR) includes |
| ${MAKE} -C $(SAX_DIR) includes |
| ${MAKE} -C $(SAX2_DIR) includes |
| ${MAKE} -C $(INTERNAL_DIR) includes |
| ${MAKE} -C $(FRAMEWORK_DIR) includes |
| ${MAKE} -C $(PARSERS_DIR) includes |
| ${MAKE} -C $(VALIDATORS_DIR) includes |
| ${MAKE} -C $(DOM_DIR) includes |
| |
| Util:: |
| @echo Building "util" |
| ${MAKE} -C $(UTIL_DIR) $(MAKE_FLAGS) |
| |
| Sax:: |
| @echo Building "sax" |
| ${MAKE} -C $(SAX_DIR) $(MAKE_FLAGS) |
| |
| |
| Internal:: |
| @echo Building "internal" |
| ${MAKE} -C $(INTERNAL_DIR) $(MAKE_FLAGS) |
| |
| Framework:: |
| @echo Building "framework" |
| ${MAKE} -C $(FRAMEWORK_DIR) $(MAKE_FLAGS) |
| |
| Parsers:: |
| @echo Building "parsers" |
| ${MAKE} -C $(PARSERS_DIR) $(MAKE_FLAGS) |
| |
| Sax2:: |
| @echo Building "sax2" |
| ${MAKE} -C $(SAX2_DIR) $(MAKE_FLAGS) |
| |
| Dom:: |
| @echo Building "dom" |
| ${MAKE} -C $(DOM_DIR) $(MAKE_FLAGS) |
| |
| Validators:: |
| @echo Building "validators" |
| ${MAKE} -C $(VALIDATORS_DIR) $(MAKE_FLAGS) |
| |
| ${FQ_REAL_NAME}:: compile |
| @echo Building ${FQ_REAL_NAME} |
| ${MAKE} -C $(XML_OBJ_DIR)/.. -k $(MAKE_FLAGS) |
| |
| install:: |
| ${MAKE} -C $(UTIL_DIR) $@ |
| ${MAKE} -C $(SAX_DIR) $@ |
| ${MAKE} -C $(SAX2_DIR) $@ |
| ${MAKE} -C $(INTERNAL_DIR) $@ |
| ${MAKE} -C $(FRAMEWORK_DIR) $@ |
| ${MAKE} -C $(PARSERS_DIR) $@ |
| ${MAKE} -C $(DOM_DIR) $@ |
| ${MAKE} -C $(VALIDATORS_DIR) $@ |
| ${MAKE} -C $(XML_OBJ) $@ |
| |
| clean:: |
| ${MAKE} -C $(UTIL_DIR) $@ |
| ${MAKE} -C $(SAX_DIR) $@ |
| ${MAKE} -C $(SAX2_DIR) $@ |
| ${MAKE} -C $(INTERNAL_DIR) $@ |
| ${MAKE} -C $(FRAMEWORK_DIR) $@ |
| ${MAKE} -C $(PARSERS_DIR) $@ |
| ${MAKE} -C $(DOM_DIR) $@ |
| ${MAKE} -C $(VALIDATORS_DIR) $@ |
| ${MAKE} -C $(XML_OBJ) $@ |
| |
| distclean:: |
| ${MAKE} -C $(UTIL_DIR) $@ |
| ${MAKE} -C $(SAX_DIR) $@ |
| ${MAKE} -C $(SAX2_DIR) $@ |
| ${MAKE} -C $(INTERNAL_DIR) $@ |
| ${MAKE} -C $(FRAMEWORK_DIR) $@ |
| ${MAKE} -C $(PARSERS_DIR) $@ |
| ${MAKE} -C $(DOM_DIR) $@ |
| ${MAKE} -C $(VALIDATORS_DIR) $@ |
| ${MAKE} -C $(XML_OBJ) $@ |
| rm -f Makefile config.cache config.log config.status |
| find . -name Makefile -print -exec rm -f {} \; |
| rm -f *~ core |
| |
| #docs:: |
| |
| samples:: |
| ${MAKE} -C ../../samples |
| |
| 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/xercesc |
| -${MKDIR} ${BINTARGETDIR}/include/xercesc/sax |
| -${MKDIR} ${BINTARGETDIR}/include/xercesc/sax2 |
| -${MKDIR} ${BINTARGETDIR}/include/xercesc/framework |
| -${MKDIR} ${BINTARGETDIR}/include/xercesc/internal |
| -${MKDIR} ${BINTARGETDIR}/include/xercesc/parsers |
| -${MKDIR} ${BINTARGETDIR}/include/xercesc/util |
| -${MKDIR} ${BINTARGETDIR}/include/xercesc/dom |
| |
| -${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/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/xercesc/sax/*.hpp ${BINTARGETDIR}/include/xercesc/sax |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/sax2/*.hpp ${BINTARGETDIR}/include/xercesc/sax2 |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/framework/*.hpp ${BINTARGETDIR}/include/xercesc/framework |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/dom/DOM*.hpp ${BINTARGETDIR}/include/xercesc/dom |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/dom/deprecated/DOM*.hpp ${BINTARGETDIR}/include/xercesc/dom/deprecated |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/internal/*.hpp ${BINTARGETDIR}/include/xercesc/internal |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/internal/*.c ${BINTARGETDIR}/include/xercesc/internal |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/parsers/*.hpp ${BINTARGETDIR}/include/xercesc/parsers |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/util/*.hpp ${BINTARGETDIR}/include/xercesc/util |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/util/*.c ${BINTARGETDIR}/include/xercesc/util |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/validators/*.hpp ${BINTARGETDIR}/include/xercesc/validators |
| -${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/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 |
| |