| # |
| # 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> # |
| # # |
| ################################################################### |
| #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@ |
| |
| #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 |
| ifeq (${PLATFORM},CYGWIN) |
| CYGNAME = cygxerces-c |
| endif |
| |
| PRODUCTNAME=xerces |
| PRODUCTVERSION=${VER} |
| BINTARGETNAME=${PRODUCTNAME}-c-${PLATFORM}-${CXX}-${PRODUCTVERSION} |
| BINTARGETDIR=${HOME}/${BINTARGETNAME} |
| |
| all:: lib |
| |
| compile:: Prepare Util Sax Internal Framework Parsers Sax2 Dom Validators |
| |
| ifeq (${PLATFORM},CYGWIN) |
| lib:: ${FQ_SO_NAME} |
| else |
| lib:: ${FQ_REAL_NAME} |
| endif |
| |
| 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) |
| |
| ifeq (${PLATFORM},CYGWIN) |
| ${FQ_SO_NAME}:: compile |
| @echo Building ${FQ_SO_NAME} |
| ${MAKE} -C $(XML_OBJ_DIR)/.. -k $(MAKE_FLAGS) |
| else |
| ${FQ_REAL_NAME}:: compile |
| @echo Building ${FQ_REAL_NAME} |
| ${MAKE} -C $(XML_OBJ_DIR)/.. -k $(MAKE_FLAGS) |
| endif |
| |
| 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}/etc |
| -${MKDIR} ${BINTARGETDIR}/lib |
| ifeq (${MESSAGELOADER},ICU) |
| -${MKDIR} ${BINTARGETDIR}/msg |
| endif |
| ifeq (${MESSAGELOADER},ICONV) |
| -${MKDIR} ${BINTARGETDIR}/msg |
| endif |
| -${MKDIR} ${BINTARGETDIR}/include |
| -${MKDIR} ${BINTARGETDIR}/samples |
| -${MKDIR} ${BINTARGETDIR}/doc |
| -${MKDIR} ${BINTARGETDIR}/doc/html |
| |
| @echo Populate the include output directory |
| @echo Copying headers files ... |
| -${CP} -Rf ${XERCESCROOT}/include/* ${BINTARGETDIR}/include |
| -${RM} -rf ${BINTARGETDIR}/include/xercesc/dom/impl |
| ifeq (${TRANSCODER},ICU) |
| -${CP} -Rf ${ICUROOT}/include/* ${BINTARGETDIR}/include |
| else |
| ifeq (${MESSAGELOADER},ICU) |
| -${CP} -Rf ${ICUROOT}/include/* ${BINTARGETDIR}/include |
| endif |
| endif |
| |
| @echo Populate the binary output directory |
| @echo Copying binary outputs ... |
| -${CP} -Rf ${XERCESCROOT}/bin/* ${BINTARGETDIR}/bin |
| -${CP} -Rf ${XERCESCROOT}/src/xercesc/config.status ${BINTARGETDIR}/etc |
| -${CP} -Rf ${XERCESCROOT}/bin/obj/*.map ${BINTARGETDIR}/etc |
| -${CP} -Rf ${XERCESCROOT}/lib/${REAL_NAME} ${BINTARGETDIR}/lib |
| -${CD} ${BINTARGETDIR}/lib; ln -s ${REAL_NAME} ${SO_NAME}; ln -s ${REAL_NAME} ${LINK_NAME} |
| ifeq (${TRANSCODER},ICU) |
| -${CP} -Rf ${ICUROOT}/lib/libicudata26.1.so ${BINTARGETDIR}/lib |
| -${CP} -Rf ${ICUROOT}/lib/libicudata.so.26.1 ${BINTARGETDIR}/lib |
| -${CP} -Rf ${ICUROOT}/lib/libicudata.sl.26.1 ${BINTARGETDIR}/lib |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata26.1.so' -exec ln -s {} libicudata.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata26.1.so' -exec ln -s {} libicudata26.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata.so.26.1' -exec ln -s {} libicudata.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata.so.26.1' -exec ln -s {} libicudata.so.26 \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata.sl.26.1' -exec ln -s {} libicudata.sl \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata.sl.26.1' -exec ln -s {} libicudata.sl.26 \; |
| -${CP} -Rf ${ICUROOT}/lib/libicuuc26.1.so ${BINTARGETDIR}/lib |
| -${CP} -Rf ${ICUROOT}/lib/libicuuc.so.26.1 ${BINTARGETDIR}/lib |
| -${CP} -Rf ${ICUROOT}/lib/libicuuc.sl.26.1 ${BINTARGETDIR}/lib |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc26.1.so' -exec ln -s {} libicuuc.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc26.1.so' -exec ln -s {} libicuuc26.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc.so.26.1' -exec ln -s {} libicuuc.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc.so.26.1' -exec ln -s {} libicuuc.so.26 \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc.sl.26.1' -exec ln -s {} libicuuc.sl \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc.sl.26.1' -exec ln -s {} libicuuc.sl.26 \; |
| else |
| ifeq (${MESSAGELOADER},ICU) |
| -${CP} -Rf ${ICUROOT}/lib/libicudata26.1.so ${BINTARGETDIR}/lib |
| -${CP} -Rf ${ICUROOT}/lib/libicudata.so.26.1 ${BINTARGETDIR}/lib |
| -${CP} -Rf ${ICUROOT}/lib/libicudata.sl.26.1 ${BINTARGETDIR}/lib |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata26.1.so' -exec ln -s {} libicudata.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata26.1.so' -exec ln -s {} libicudata26.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata.so.26.1' -exec ln -s {} libicudata.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata.so.26.1' -exec ln -s {} libicudata.so.26 \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata.sl.26.1' -exec ln -s {} libicudata.sl \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicudata.sl.26.1' -exec ln -s {} libicudata.sl.26 \; |
| -${CP} -Rf ${ICUROOT}/lib/libicuuc26.1.so ${BINTARGETDIR}/lib |
| -${CP} -Rf ${ICUROOT}/lib/libicuuc.so.26.1 ${BINTARGETDIR}/lib |
| -${CP} -Rf ${ICUROOT}/lib/libicuuc.sl.26.1 ${BINTARGETDIR}/lib |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc26.1.so' -exec ln -s {} libicuuc.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc26.1.so' -exec ln -s {} libicuuc26.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc.so.26.1' -exec ln -s {} libicuuc.so \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc.so.26.1' -exec ln -s {} libicuuc.so.26 \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc.sl.26.1' -exec ln -s {} libicuuc.sl \; |
| -${CD} ${BINTARGETDIR}/lib; find . -name 'libicuuc.sl.26.1' -exec ln -s {} libicuuc.sl.26 \; |
| endif |
| endif |
| ifeq (${MESSAGELOADER},ICU) |
| -${CP} -f ${XERCESCROOT}/msg/*.res ${BINTARGETDIR}/msg |
| endif |
| ifeq (${MESSAGELOADER},ICONV) |
| -${CP} -f ${XERCESCROOT}/msg/*.cat ${BINTARGETDIR}/msg |
| endif |
| -${RM} -rf ${BINTARGETDIR}/bin/obj |
| |
| @echo Populate the samples directory |
| @echo Copying sample files ... |
| -${CP} -Rf ${XERCESCROOT}/samples/* ${BINTARGETDIR}/samples |
| -${RM2} `find ${BINTARGETDIR}/samples -name Makefile` |
| |
| @echo Populate the docs directory |
| @echo Copying documentation .. |
| -${CP} -f ${XERCESCROOT}/doc/index.html ${BINTARGETDIR}/doc |
| -${CP} -Rf ${XERCESCROOT}/doc/html/* ${BINTARGETDIR}/doc/html |
| -${CP} -f ${XERCESCROOT}/*.html ${BINTARGETDIR} |
| -${CP} -f ${XERCESCROOT}/*.txt ${BINTARGETDIR} |
| -${CP} -f ${XERCESCROOT}/version.incl ${BINTARGETDIR} |
| |
| @echo Change the directory permissions |
| -${CHMODE} 644 `find ${BINTARGETDIR} -type f` |
| -${CHMODE} 755 ${BINTARGETDIR}/bin/* ${BINTARGETDIR}/lib/* |
| -${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 ${BINTARGETNAME}/ |
| @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 |
| |