| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| ################################################################### |
| # IMPORTANT NOTE # |
| ################################################################### |
| # Before you try to run the Makefile, make sure you have two # |
| # environment variables set. # |
| # # |
| # export XALANCROOT=<the directory where you installed XALAN-C> # |
| # export XERCESCROOT=<the directory where you installed XERCES-C> # |
| # # |
| # # |
| # 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 |
| HARNESS_DIR = $(XALANCROOT)/src/xalanc/Harness |
| 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):$(HARNESS_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) \ |
| $(wildcard $(HARNESS_DIR)/*.cpp) \ |
| |
| ALL_HEADERS_DIRS = \ |
| DOMSupport \ |
| Include \ |
| PlatformSupport \ |
| XMLSupport \ |
| XPath \ |
| XSLT \ |
| XalanDOM \ |
| XalanEXSLT \ |
| XalanExtensions \ |
| XalanSourceTree \ |
| XercesParserLiaison \ |
| XercesParserLiaison/Deprecated \ |
| XalanTransformer \ |
| Harness \ |
| XPathCAPI |
| |
| ALL_BINARIES = Xalan$(EXT) |
| |
| 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=libicui18n$(SHLIBSUFFIX) |
| endif |
| |
| ALL_OBJECTS = $(addprefix $(XSL_OBJ_DIR)/,$(addsuffix .o,$(basename $(notdir $(ALLSOURCE))))) |
| |
| vpath %.cpp \ |
| $(ALL_VPATH_CPP) |
| ${XSL_OBJ_DIR}/%.o:%.cpp locale |
| $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< |
| |
| ${XSL_OBJ_DIR}/%.o:%.hpp locale |
| $(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) |
| |
| $(ALL_OBJECTS): locale |
| |
| ifeq (${OS390BATCH},1) |
| XalanExe: lib "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'" |
| |
| "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'": ${XSL_OBJ_DIR}/XalanExe.o | lib |
| ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ |
| ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS) |
| ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp locale |
| $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< |
| |
| testXSLT: lib "//'$(LOADSAMP)(${BATCH_TEST_UTIL_NAME})'" |
| |
| "//'$(LOADSAMP)(${BATCH_TEST_UTIL_NAME})'": ${XSL_OBJ_DIR}/process.o | lib |
| ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ |
| ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS) |
| ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp locale |
| $(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 | lib |
| ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ |
| ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS) $(OTHER_LINK_PARAMETERS) |
| ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp locale |
| $(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 | lib |
| ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ |
| ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS) $(OTHER_LINK_PARAMETERS) |
| ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp locale |
| $(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 | lib |
| ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ |
| ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $(OTHER_LINK_PARAMETERS) |
| ${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} |
| |
| locale: |
| $(MAKE) -C Utils $@ |
| |
| ${BATCH_TARGET}: $(ALL_OBJECTS) |
| @echo Building ${BATCH_TARGET} |
| $(MAKE_SHARED) $^ -o $@ $(ALLLIBS) |
| |
| 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) $(LINK_SONAME) $^ -o $@ $(ALLLIBS) $(OTHER_LINK_LIB_PARAMERES) |
| ifeq ($(PLATFORM), OS390) |
| mv *.x ${XSL_LIB_DIR} |
| else |
| rm -f $(XSL_LIB_DIR)/$(LINK_NAME) && \ |
| $(LN) -fs $(LIB) $(XSL_LIB_DIR)/$(LINK_NAME) |
| rm -f $(XSL_LIB_DIR)/$(SO_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) |
| rm -f $(DESTDIR)/$(libdir)/$(LINK_NAME) && \ |
| $(LN) -fs $(LIB) $(DESTDIR)/$(libdir)/$(LINK_NAME) |
| rm -f $(DESTDIR)/$(libdir)/$(SO_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) |
| rm -f $(DESTDIR)/$(libdir)/$(ICU_LIBI18N_LINK_NAME) && \ |
| $(LN) -fs $(ICU_LIBI18N_LIB) \ |
| $(DESTDIR)/$(libdir)/$(ICU_LIBI18N_LINK_NAME) |
| rm -f $(DESTDIR)/$(libdir)/$(ICU_LIBI18N_SO_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).map1 |
| rm -f $(XSL_BIN_DIR)/testXSLT$(EXT) |
| rm -f $(XSL_BIN_DIR)/testXPath$(EXT) |
| rm -f $(XSL_BIN_DIR)/Xalan$(EXT) |
| ifeq ($(PLATFORM), OS390) |
| rm -f $(LIBRARY_LINK_NAME) |
| endif ## OS390 |
| |
| install-package: install |