# # The Apache Software License, Version 1.1 # # Copyright (c) 1999-2004 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 "Xalan", "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 # . # ################################################################### # IMPORTANT NOTE # ################################################################### # Before you try to run the Makefile, make sure you have two # # environment variables set. # # # # export XALANCROOT= # # export XERCESCROOT= # # # # # # If you are going to do the OS390BATCH build, make sure you have # # the OS390BATCH environment variable set. # # # # export OS390BATCH=1 # # # # Also, # # # # export LOADMOD=USERID.LOAD # # export LOADEXP=USERID.EXP # # export LOADSAMP=USERID.SAMP # # # # to specify your LOADMOD, the definition sidedeck dataset, and # # the testXSLT/Xalan executable destination. # # # ################################################################### INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ DEPFILE=depends # Output directory OUTDIR := ../.. ifndef XALANCROOT noxalanroot: @echo XALANCROOT must be defined endif ifndef XERCESCROOT noxercesroot: @echo XERCESCROOT must be defined endif XALANDOM_DIR = $(XALANCROOT)/src/xalanc/XalanDOM DOMSUPPORT_DIR = $(XALANCROOT)/src/xalanc/DOMSupport INCLUDE_DIR = $(XALANCROOT)/src/xalanc/Include ICUBRIDGE_DIR = $(XALANCROOT)/src/xalanc/ICUBridge PLATFORMSUPPORT_DIR = $(XALANCROOT)/src/xalanc/PlatformSupport XALANSOURCETREE_DIR = $(XALANCROOT)/src/xalanc/XalanSourceTree TESTXPATH_DIR = $(XALANCROOT)/src/xalanc/TestXPath XALANEXE_DIR = $(XALANCROOT)/src/xalanc/XalanExe TESTXSLT_DIR = $(XALANCROOT)/src/xalanc/TestXSLT XMLSUPPORT_DIR = $(XALANCROOT)/src/xalanc/XMLSupport XPATH_DIR = $(XALANCROOT)/src/xalanc/XPath XPATHCAPI_DIR = $(XALANCROOT)/src/xalanc/XPathCAPI XSLT_DIR = $(XALANCROOT)/src/xalanc/XSLT XALANEXTENSIONS_DIR = $(XALANCROOT)/src/xalanc/XalanExtensions XERCESPARSERLIAISON_DIR = $(XALANCROOT)/src/xalanc/XercesParserLiaison DEPRECATED_XERCESPARSERLIAISON_DIR = $(XALANCROOT)/src/xalanc/XercesParserLiaison/Deprecated XALANEXSLT_DIR = $(XALANCROOT)/src/xalanc/XalanEXSLT XALANTRANSFORMER_DIR = $(XALANCROOT)/src/xalanc/XalanTransformer SAMPLES_DIR = ${XALANCROOT}/samples TESTS_DIR = ${XALANCROOT}/Tests ALL_VPATH_CPP = \ $(XALANDOM_DIR):$(PLATFORMSUPPORT_DIR):$(DOMSUPPORT_DIR):$(XMLSUPPORT_DIR): \ $(XPATH_DIR):$(XERCESPARSERLIAISON_DIR):$(DEPRECATED_XERCESPARSERLIAISON_DIR):$(XALANSOURCETREE_DIR):$(XPATHCAPI_DIR): \ $(XSLT_DIR):$(XALANEXTENSIONS_DIR):$(XALANEXSLT_DIR):$(XALANTRANSFORMER_DIR): \ $(TESTXPATH_DIR):$(TESTXSLT_DIR) \ ALLSOURCE = \ $(wildcard $(XALANDOM_DIR)/*.cpp) \ $(wildcard $(PLATFORMSUPPORT_DIR)/*.cpp) \ $(wildcard $(DOMSUPPORT_DIR)/*.cpp) \ $(wildcard $(XMLSUPPORT_DIR)/*.cpp) \ $(wildcard $(XPATH_DIR)/*.cpp) \ $(wildcard $(XERCESPARSERLIAISON_DIR)/*.cpp) \ $(wildcard $(DEPRECATED_XERCESPARSERLIAISON_DIR)/*.cpp) \ $(wildcard $(XALANSOURCETREE_DIR)/*.cpp) \ $(wildcard $(XPATHCAPI_DIR)/*.cpp) \ $(wildcard $(XSLT_DIR)/*.cpp) \ $(wildcard $(XALANEXTENSIONS_DIR)/*.cpp) \ $(wildcard $(XALANTRANSFORMER_DIR)/*.cpp) \ $(wildcard $(XALANEXSLT_DIR)/*.cpp) \ ALL_HEADERS_DIRS = \ DOMSupport \ Include \ PlatformSupport \ XMLSupport \ XPath \ XSLT \ XalanDOM \ XalanEXSLT \ XalanExtensions \ XalanSourceTree \ XercesParserLiaison \ XercesParserLiaison/Deprecated \ XalanTransformer \ XPathCAPI ALL_BINARIES = Xalan include $(XALANCROOT)/version.incl include ../../Makefile.incl # Using ICUBridge ifdef XALAN_USE_ICU ALL_VPATH_CPP+=:$(ICUBRIDGE_DIR) ALLSOURCE += $(wildcard $(ICUBRIDGE_DIR)/*.cpp) ALL_HEADERS_DIRS += ICUBridge XSL_INCL += -I${ICUROOT}/include XSL_BUILD_OPTIONS += -DXALAN_USE_ICU ICU_LIBI18N_LIB=$(shell cd $(ICUROOT)/lib; ls libicui18n*[0-9][0-9].[0-9]*) ICU_LIBI18N_SO_NAME=$(shell cd $(ICUROOT)/lib; ls libicui18n*[0-9][0-9] libicui18n[0-9][0-9].?? 2>/dev/null) ICU_LIBI18N_LINK_NAME=libicu18n$(SHLIBSUFFIX) endif ALL_OBJECTS = $(addprefix $(XSL_OBJ_DIR)/,$(addsuffix .o,$(basename $(notdir $(ALLSOURCE))))) vpath %.cpp \ $(ALL_VPATH_CPP) ${XSL_OBJ_DIR}/%.o:%.cpp $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< ${XSL_OBJ_DIR}/%.o:%.hpp $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $(patsubst .hpp,.cpp,$<) all: lib testXSLT testXPath XalanExe prepare: @echo Preparing the directory structure for a build ... -${MKDIR} -p ${XSL_OBJ_DIR} -${MKDIR} -p ${XSL_LIB_DIR} -${MKDIR} -p $(XSL_BIN_DIR) $(MAKE) -C Utils $@ # Create header dependencies file -- this must be run before any objects are # built depend: $(MAKE) -f makedepends DEPFILE=$(DEPFILE) -include $(DEPFILE) compile: $(ALL_OBJECTS) ifeq (${OS390BATCH},1) XalanExe: lib "//'$(LOADSAMP)(XALAN)'" "//'$(LOADSAMP)(XALAN)'": ${XSL_OBJ_DIR}/XalanExe.o ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< testXSLT: lib "//'$(LOADSAMP)(TESTXSLT)'" "//'$(LOADSAMP)(TESTXSLT)'": ${XSL_OBJ_DIR}/process.o ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< else # Not OS390BATCH XalanExe: lib $(XSL_BIN_DIR)/Xalan $(XSL_BIN_DIR)/Xalan: ${XSL_OBJ_DIR}/XalanExe.o ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< endif testXSLT: lib $(XSL_BIN_DIR)/testXSLT $(XSL_BIN_DIR)/testXSLT: ${XSL_OBJ_DIR}/process.o ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< testXPath: lib $(XSL_BIN_DIR)/testXPath $(XSL_BIN_DIR)/testXPath: ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ ${XSL_OBJ_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< ## OS390BATCH ifeq (${OS390BATCH},1) lib: prepare locale compile ${BATCH_TARGET} ${BATCH_TARGET}: $(ALL_OBJECTS) @echo Building ${BATCH_TARGET} $(MAKE_SHARED) $(ALLLIBS) $^ -o $@ else lib: prepare locale compile $(XSL_LIB_DIR)/$(LIB) locale: $(MAKE) -C Utils $@ $(XSL_LIB_DIR)/$(LIB): $(ALL_OBJECTS) $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS) $^ -o $@ ifeq ($(PLATFORM), OS390) cp -p *.x ${XSL_LIB_DIR} else $(LN) -fs $(LIB) $(XSL_LIB_DIR)/$(LINK_NAME) $(LN) -fs $(LIB) $(XSL_LIB_DIR)/$(SO_NAME) endif ## OS390 endif ## OS390BATCH install: lib XalanExe $(MAKE) -C Utils $@ $(MKINSTALLDIRS) $(DESTDIR)/$(bindir) for bin in $(ALL_BINARIES); do \ $(INSTALL_PROGRAM) $(XSL_BIN_DIR)/$$bin \ $(DESTDIR)/$(bindir); \ done $(MKINSTALLDIRS) $(DESTDIR)/$(libdir) $(INSTALL_PROGRAM) $(XSL_LIB_DIR)/$(LIB) $(DESTDIR)/$(libdir) ifneq ($(PLATFORM), OS390) $(LN) -fs $(LIB) $(DESTDIR)/$(libdir)/$(LINK_NAME) $(LN) -fs $(LIB) $(DESTDIR)/$(libdir)/$(SO_NAME) endif ## OS390 $(MKINSTALLDIRS) $(DESTDIR)/$(includedir)/xalanc for hdir in $(ALL_HEADERS_DIRS); do \ $(MKINSTALLDIRS) $(DESTDIR)/$(includedir)/xalanc/$$hdir; \ cp $(XALANCROOT)/src/xalanc/$$hdir/*.h* \ $(DESTDIR)/$(includedir)/xalanc/$$hdir \ 2> /dev/null; \ done ifdef XALAN_USE_ICU $(INSTALL_PROGRAM) $(ICUROOT)/lib/$(ICU_LIBI18N_LIB) \ $(DESTDIR)/$(libdir) ifneq ($PLATFORM), OS390) $(LN) -fs $(ICU_LIBI18N_LIB) \ $(DESTDIR)/$(libdir)/$(ICU_LIBI18N_LINK_NAME) $(LN) -fs $(ICU_LIBI18N_LIB) \ $(DESTDIR)/$(libdir)/$(ICU_LIBI18N_SO_NAME) endif ## OS390 endif clean: prepare doClean doClean: $(MAKE) -C Utils $@ (cd $(XSL_OBJ_DIR); rm -rf *) rm -rf $(OUTDIR)/so_locations rm -rf $(XSL_BIN_DIR)/SunWS_cache rm -rf $(XSL_LIB_DIR)/SunWS_cache rm -f $(XSL_LIB_DIR)/$(LIB) rm -f $(XSL_LIB_DIR)/$(LINK_NAME) rm -f $(XSL_LIB_DIR)/$(SO_NAME) rm -f $(XSL_LIB_DIR)/$(LIB).$(OS390SIDEDECK) rm -f $(XSL_LIB_DIR)/$(LIB).map1 rm -f $(XSL_BIN_DIR)/testXSLT rm -f $(XSL_BIN_DIR)/testXPath rm -f $(XSL_BIN_DIR)/Xalan install-package: install