blob: 7f6b30dd9c37ec7a95ccf23e8ef68782df59899d [file] [log] [blame]
#
# 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.
#
#
#MACROS defining commands
MKDIR=mkdir
LN=ln
#all these setting come from the arguments passed in to runConfigure.
PLATFORM = @platform@
CC = @cc@
CXX = @cxx@
CPPFLAGS = @cppflags@
CFLAGS = @cflags@
CXXFLAGS = @cxxflags@
PREFIX = @prefix@
LDFLAGS = @ldflags@
BITSTOBUILD = @bitstobuild@
LIBS = @libs@
TRANSCODER = @transcoder@
WCSTOMBS = @wcstombs@
MESSAGELOADER = @xalan_locale_system@
LOCALE = @xalan_locale@
SHELL = @SHELL@
MKINSTALLDIRS = $(MKDIR) -p
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
datadir = @datadir@
XSL_OBJ_DIR = ${OUTDIR}/obj
XSL_LIB_DIR = ${OUTDIR}/lib
XSL_BIN_DIR = ${OUTDIR}/bin
XSL_NLS_DIR = ${OUTDIR}/nls
XSL_INCL = -I$(XALANCROOT)/src -I$(XALANCROOT)/include -I${XSL_NLS_DIR}/include
XSL_INCL += -I$(XERCESCROOT)/src/ -I$(XERCESCROOT)/include/xercesc -I$(XERCESCROOT)/include/
SAMPLES_DIR = $(XALANCROOT)/samples
TESTS_DIR = $(XALANCROOT)/Tests
# ICU
ifeq ($(TRANSCODER),icu)
XALAN_USE_ICU = yes
endif
ifdef XALAN_USE_ICU
ifndef ICUROOT
ICUROOT=/usr/local
endif
ifndef ICUI18NROOT
ICUI18NROOT=${ICUROOT}
endif
ICULIB_LOC=$(ICUROOT)/lib
endif
# required libraries
XERCES_LIB = -L$(XERCESCROOT)/lib -lxerces-c
ICU_LIB = -L$(ICUROOT)/lib -licuuc -L$(ICUI18NROOT)/lib -licui18n
XALAN_LIB = $(LIBRARY_SEARCH_PATH) $(LIBRARY_LINK_NAME)
# Deprecated Xerces DOM Support handeling
ifeq (XALAN_BUILD_DEPRECATED_DOM_BRIDGE,$(findstring XALAN_BUILD_DEPRECATED_DOM_BRIDGE,$(CXXFLAGS)))
ifneq "$(wildcard $(XERCESCROOT)/lib/*xerces-depdom*)" ""
XERCES_LIB += -lxerces-depdom
endif
endif
# Library names
LIB_NAME = lib$(PROJECT_NAME)
LIB = $(LIB_NAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER).$(LIB_MINOR_VER)
SO_NAME = $(LIB_NAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER)
LINK_NAME = $(LIB_NAME)$(SHLIBSUFFIX)
XALAN_LIB_PATH = -L$(XSL_LIB_DIR)
LIBRARY_LINK_NAME = -l$(PROJECT_NAME)
LIBRARY_SEARCH_PATH = -L$(XSL_LIB_DIR) -L$(XALANCROOT)/lib
# Localization library names
LOC_PROJECT_NAME = xalanMsg
LOC_LIBNAME = lib${LOC_PROJECT_NAME}
LOC_LIB = ${LOC_LIBNAME}$(SHLIBSUFFIX).${LIB_MAJOR_VER}.${LIB_MINOR_VER}
LOC_SONAME = ${LOC_LIBNAME}${SHLIBSUFFIX}.${LIB_MAJOR_VER}
MESSAGELIB = ${XSL_LIB_DIR}/${LOC_LIB}
EXTRA_LOC_LINK_OPTIONS = $(EXTRA_LINK_OPTIONS)
ifeq ($(MESSAGELOADER),nls)
LOCAL_LIB =
XSL_BUILD_OPTIONS += -DXALAN_NLS_MSG_LOADER
endif
ifeq ($(MESSAGELOADER),icu)
XSL_BUILD_OPTIONS += -DXALAN_ICU_MSG_LOADER
LOCAL_LIB = -L${XSL_LIB_DIR} -l$(LOC_PROJECT_NAME)
endif
ifeq ($(MESSAGELOADER),inmem)
XSL_BUILD_OPTIONS += -DXALAN_INMEM_MSG_LOADER
LOCAL_LIB = -L${XSL_LIB_DIR} -l$(LOC_PROJECT_NAME)
endif
#=============== MINGW SPECIFIC OPTIONS =========================
ifeq ($(PLATFORM), MINGW)
SUPPORTED = TRUE
ALLLIBS = $(LIBS)
SHLIBSUFFIX = .dll
LINK_SONAME =
EXT=.exe
LOC_LIB = ${LOC_LIBNAME}${VER}$(SHLIBSUFFIX)
MESSAGELIB = ${XSL_LIB_DIR}/$(LOC_LIB)
LIB = $(LIB_NAME)$(VER)$(SHLIBSUFFIX)
SONAME = $(LIB_NAME)$(MS_VER)$(SHLIBSUFFIX)
PLATFORM_COMPILE_OPTIONS = -DWIN32 -D_WINDOWS -D__MINGW__ -D${PLATFORM} -fexceptions
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC1)
LDFLAGS += -Wl,--allow-multiple-definition
LINK = $(CXX) -D${PLATFORM} ${LDFLAGS}
MAKE_SHARED = dllwrap --export-all-symbols --driver-name c++ ${LDFLAGS}
MAKE_SHARED_LOC = dllwrap --export-all-symbols --driver-name c++ ${LDFLAGS}
LOC_OTHER_LINK_PARAMETERS = $(XERCES_LIB)
OTHER_LINK_PARAMETERS = $(XALAN_LIB) $(ALLLIBS)
OTHER_LINK_LIB_PARAMETERS = $(ALLLIBS)
export PATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(PATH)
endif
#=============== CYGWIN SPECIFIC OPTIONS =========================
ifeq ($(PLATFORM), CYGWIN)
SUPPORTED = TRUE
ALLLIBS = $(LIBS)
SHLIBSUFFIX = .dll
CYG_PREFIX = cyg
LINK_SONAME =
EXT=.exe
MESSAGELIB = ${XSL_LIB_DIR}/$(CYG_PREFIX)$(LOC_PROJECT_NAME)$(LIB_MAJOR_VER)$(SHLIBSUFFIX)
LIB = $(CYG_PREFIX)$(PROJECT_NAME)$(LIB_MAJOR_VER)$(SHLIBSUFFIX)
PLATFORM_COMPILE_OPTIONS = -Wall -D${PLATFORM} -D_REENTRANT
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC1)
LINK = $(CXX) -D${PLATFORM} ${LDFLAGS}
MAKE_SHARED = $(LINK) $(CXXFLAGS) ${LDFLAGS} -shared -Wl,--warn-once \
-Wl,--out-implib \
-Wl,$(XSL_LIB_DIR)/$(LIB_NAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER).$(LIB_MINOR_VER)
MAKE_SHARED_LOC = $(LINK) $(CXXFLAGS) ${LDFLAGS} -shared -Wl,--warn-once \
-Wl,--out-implib \
-Wl,$(XSL_LIB_DIR)/$(LOC_LIB)
LOC_OTHER_LINK_PARAMETERS = $(XERCES_LIB)
OTHER_LINK_PARAMETERS = $(XALAN_LIB) $(ALLLIBS)
OTHER_LINK_LIB_PARAMETERS = $(ALLLIBS)
export PATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(PATH)
endif
#=============== LINUX SPECIFIC OPTIONS =========================
ifeq ($(PLATFORM), LINUX)
SUPPORTED = TRUE
ifeq (${CXX}, xlC_r)
PLATFORM_COMPILE_OPTIONS = -qpic -D_AIX -D_THREAD_SAFE
ALLLIBS = ${LIBS} -L/usr/lib
CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS)
CC1 = $(CC2) $(CPPFLAGS) $(CXXFLAGS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = $(CXX) -qmkshrobj ${LDFLAGS} ${bitstobuildLink}
LINK = $(CC1) ${bitstobuildLink} ${LDFLAGS}
ifeq (${BITSTOBUILD}, 64)
MAKE_SHARED += -q64
CC2 += -q64
CC4 += -q64
LINK += -q64
endif
SHLIBSUFFIX=.so
XERCES_LIB= -L$(XERCESCROOT)/lib -lxerces-c
ICU_LIB= -L$(ICUROOT)/lib -licuuc32 -L$(ICUI18NROOT)/lib -licui18n32
LIB = $(LIB_NAME)$(LIB_MAJOR_VER).$(LIB_MINOR_VER)$(SHLIBSUFFIX)
SO_NAME = $(LIB_NAME)$(LIB_MAJOR_VER)$(SHLIBSUFFIX)
LIBRARY_LINK_NAME=-l$(PROJECT_NAME)$(LIB_MAJOR_VER)
export LD_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(LD_LIBRARY_PATH)
MAKE_SHARED_LOC=$(MAKE_SHARED)
LOC_LIB = ${LOC_LIBNAME}${LIB_MAJOR_VER}.${LIB_MINOR_VER}${SHLIBSUFFIX}
LOC_LIBKEYNAME=${LOC_PROJECT_NAME}${LIB_MAJOR_VER}
else
## Other compilers ...
ALLLIBS = ${LIBS}
SHLIBSUFFIX=.so
PIC_OPTION=
ifeq (${CXX}, icpc)
PIC_OPTION=-KPIC
PLATFORM_COMPILE_OPTIONS = -ansi
else
PIC_OPTION=-fPIC
PLATFORM_COMPILE_OPTIONS = -Wall
endif
PLATFORM_COMPILE_OPTIONS += ${PIC_OPTION} -D${PLATFORM} -D_REENTRANT
# We need the ICU library if we are using the ICUBridge
ifdef XALAN_USE_ICU
LD_RPATH_PRE= -Wl,-rpath,
PLATFORM_LIB_LINK_OPTIONS=$(LD_RPATH_PRE)${ICUROOT}/lib
endif
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared ${PIC_OPTION} ${LDFLAGS}
LINK_SONAME = -Wl,-soname,$(SO_NAME)
LINK = $(CXX) -D${PLATFORM} ${PIC_OPTION} ${LDFLAGS}
export LD_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(LD_LIBRARY_PATH)
MAKE_SHARED_LOC = ${CXX} $(CXXFLAGS) -Wl,-soname,$(LOC_SONAME) -D${PLATFORM} -shared ${PIC_OPTION} ${LDFLAGS}
## End of other compilers
endif
endif
#=============== FREEBSD SPECIFIC OPTIONS ======================
ifeq ($(PLATFORM), FREEBSD)
SUPPORTED = TRUE
ALLLIBS = ${LIBS} -L/usr/local/lib
SHLIBSUFFIX=.so
PIC_OPTION = -fPIC
PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} ${PIC_OPTION} ${WCSTOMBS}
# We need the ICU library if we are using the ICUBridge
ifdef XALAN_USE_ICU
LD_RPATH_PRE = -Wl,-rpath,
PLATFORM_LIB_LINK_OPTIONS = $(LD_RPATH_PRE)${ICUROOT}/lib
PLATFORM_LIB_LINK_OPTIONS += -licuuc -licudata -lgcc
ALLLIBS += -L${ICUROOT}
endif
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = $(CXX) $(CXXFLAGS) -D${PLATFORM} -shared ${PIC_OPTION} ${LDFLAGS}
LINK = $(CXX) -D${PLATFORM} ${PIC_OPTION} ${LDFLAGS}
MAKE_SHARED_LOC=$(MAKE_SHARED)
endif
#=============== HURD SPECIFIC OPTIONS ======================
ifeq ($(PLATFORM), HURD)
SUPPORTED = TRUE
ALLLIBS = ${LIBS} -L/usr/local/lib
SHLIBSUFFIX=.so
PIC_OPTION = -fPIC
PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} ${PIC_OPTION} ${WCSTOMBS}
# We need the ICU library if we are using the ICUBridge
ifdef XALAN_USE_ICU
LD_RPATH_PRE = -Wl,-rpath,
PLATFORM_LIB_LINK_OPTIONS = $(LD_RPATH_PRE)${ICUROOT}/lib
endif
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = $(CXX) $(CXXFLAGS) -D${PLATFORM} -shared ${PIC_OPTION} ${LDFLAGS}
LINK_SONAME = -Wl,-soname,$(SO_NAME)
LINK = $(CXX) -D${PLATFORM} ${PIC_OPTION} ${LDFLAGS}
MAKE_SHARED_LOC = ${CXX} $(CXXFLAGS) -Wl,-soname,$(LOC_SONAME) -D${PLATFORM} -shared ${PIC_OPTION} ${LDFLAGS}
endif
#=============== NETBSD SPECIFIC OPTIONS ======================
ifeq ($(PLATFORM), NETBSD)
SUPPORTED = TRUE
ALLLIBS = ${LIBS} -L/usr/local/lib
SHLIBSUFFIX=.so
PIC_OPTION = -fPIC
PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} ${PIC_OPTION} ${WCSTOMBS}
# We need the ICU library if we are using the ICUBridge
ifdef XALAN_USE_ICU
LD_RPATH_PRE = -Wl,-rpath,
PLATFORM_LIB_LINK_OPTIONS = $(LD_RPATH_PRE)${ICUROOT}/lib
PLATFORM_LIB_LINK_OPTIONS += -licuuc -licudata
ALLLIBS += -L${ICUROOT}
endif
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = $(CXX) $(CXXFLAGS) -D${PLATFORM} -shared ${PIC_OPTION} ${LDFLAGS}
LINK = $(CXX) -D${PLATFORM} ${PIC_OPTION} ${LDFLAGS}
MAKE_SHARED_LOC=$(MAKE_SHARED)
endif
#=============== OPENBSD SPECIFIC OPTIONS ======================
ifeq ($(PLATFORM), OPENBSD)
SUPPORTED = TRUE
ALLLIBS = ${LIBS} -L/usr/local/lib
SHLIBSUFFIX=.so
PIC_OPTION = -fPIC
PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} ${PIC_OPTION} ${WCSTOMBS}
# We need the ICU library if we are using the ICUBridge
ifdef XALAN_USE_ICU
LD_RPATH_PRE = -Wl,-rpath,
PLATFORM_LIB_LINK_OPTIONS = $(LD_RPATH_PRE)${ICUROOT}/lib
PLATFORM_LIB_LINK_OPTIONS += -licuuc -licudata
ALLLIBS += -L${ICUROOT}
endif
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = $(CXX) $(CXXFLAGS) -D${PLATFORM} -shared ${PIC_OPTION} ${LDFLAGS}
LINK = $(CXX) -D${PLATFORM} ${PIC_OPTION} ${LDFLAGS}
MAKE_SHARED_LOC=$(MAKE_SHARED)
endif
#=============== HPUX SPECIFIC OPTIONS =========================
ifeq ($(PLATFORM), HPUX)
SUPPORTED = TRUE
PLATFORM_COMPILE_OPTIONS = +Z -D${PLATFORM} -D_THREAD_SAFE
# +p option removed, +W849 option added
# to avoid error created by instantiated template symbol length limitation.
# Also disable warning 930 about placement delete not implemented.
PLATFORM_CXX_COMPILE_OPTIONS = +W849,930 -mt -Wc,-koenig_lookup,on -Wc,-ansi_for_scope,on
ALLLIBS = ${LIBS}
SHLIBSUFFIX=.sl
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) $(PLATFORM_CXX_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = $(CXX) -b +Z ${LDFLAGS} -Wl,+s
LINK_SONAME = -Wl,+h,${SO_NAME}
LINK = $(CXX) $(CXXFLAGS) ${LDFLAGS} $(PLATFORM_COMPILE_OPTIONS) $(PLATFORM_CXX_COMPILE_OPTIONS) -Wl,+s
export SHLIB_PATH:=$(XERCESCROOT)/lib:$(ICULIB_LOC):$(SHLIB_PATH)
MAKE_SHARED_LOC = $(CXX) -b +Z ${LDFLAGS} -Wl,+s -Wl,+h,${LOC_SONAME}
endif
#=============== SOLARIS SPECIFIC OPTIONS =========================
ifeq ($(PLATFORM), SOLARIS)
SUPPORTED = TRUE
ifeq (${CXX}, g++)
PLATFORM_COMPILE_OPTIONS = -Wall -fPIC -D${PLATFORM} -D_REENTRANT
ifdef XALAN_USE_ICU
LD_RPATH_PRE= -Wl,-rpath,
endif
EXTRA_LINK_OPTIONS=-lc
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared -fPIC ${LDFLAGS}
LINK = g++ -D${PLATFORM} -fPIC ${LDFLAGS}
ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc
else
PLATFORM_COMPILE_OPTIONS = -KPIC -mt -xs -features=rtti -D${PLATFORM} -D_REENTRANT
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) -KPIC -mt -xs -D${PLATFORM} -D_REENTRANT
MAKE_SHARED = ${CXX} -D${PLATFORM} -G ${LDFLAGS}
LINK_SONAME = -h ${SO_NAME}
MAKE_SHARED_C = ${CC} -D${PLATFORM} -G ${LDFLAGS}
LINK = ${CXX} -D${PLATFORM} ${LDFLAGS}
ALLLIBS = -mt ${LIBS} -L/usr/local/SUNWspro/lib -L/usr/ccs/lib -lc -lgen
endif
SHLIBSUFFIX=.so
export LD_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(LD_LIBRARY_PATH)
# if there is a LD_LIBRARY_PATH_64, we need to set this also
ifdef LD_LIBRARY_PATH_64
export LD_LIBRARY_PATH_64 := $(XERCESCROOT)/lib:$(ICUROOT)/lib:$(LD_LIBRARY_PATH_64)
endif
MAKE_SHARED_LOC = ${CXX} -D${PLATFORM} -G ${LDFLAGS} -h ${LOC_SONAME}
endif
#=============== AIX SPECIFIC OPTIONS =========================
ifeq ($(PLATFORM), AIX)
SUPPORTED = TRUE
ifeq (${CXX}, g++)
PLATFORM_COMPILE_OPTIONS = -Wall -fPIC -D${PLATFORM} -D_REENTRANT
ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc
EXTRA_LINK_OPTIONS=-lc
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared -fPIC ${LDFLAGS}
LINK = g++ -D${PLATFORM} -fPIC ${LDFLAGS}
ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc
SHLIBSUFFIX=.a
else
PLATFORM_COMPILE_OPTIONS = -qthreaded -D${PLATFORM} -D_THREAD_SAFE
ALLLIBS = ${LIBS} -L/usr/lib
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
ifeq (-DNDEBUG,$(findstring -DNDEBUG,${CXXFLAGS}))
CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS) -DNDEBUG
else
CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS)
endif
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = makeC++SharedLib_r -p 512 ${LDFLAGS} ${bitstobuildLink}
LINK = $(CXX) -qnotempinc $(CXXFLAGS) ${LDFLAGS} $(PLATFORM_COMPILE_OPTIONS) ${bitstobuildLink}
ifeq (${BITSTOBUILD}, 64)
MAKE_SHARED += -X64
CC2 += -q64
CC4 += -q64
endif
SHLIBSUFFIX=.a
endif
XERCES_LIB= -L$(XERCESCROOT)/lib -lxerces-c
ICU_LIB= -L$(ICUROOT)/lib -licuuc32 -L$(ICUI18NROOT)/lib -licui18n32
LIB = $(LIB_NAME)$(LIB_MAJOR_VER).$(LIB_MINOR_VER)$(SHLIBSUFFIX)
SO_NAME = $(LIB_NAME)$(LIB_MAJOR_VER)$(SHLIBSUFFIX)
LIBRARY_LINK_NAME=-l$(PROJECT_NAME)$(LIB_MAJOR_VER)
export LIBPATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(LIBPATH)
MAKE_SHARED_LOC=$(MAKE_SHARED)
LOC_LIB = ${LOC_LIBNAME}${LIB_MAJOR_VER}.${LIB_MINOR_VER}${SHLIBSUFFIX}
LOC_LIBKEYNAME=${LOC_PROJECT_NAME}${LIB_MAJOR_VER}
endif
#=============== OS390 SPECIFIC OPTIONS =========================
ifeq ($(PLATFORM), OS390)
SUPPORTED = TRUE
PLATFORM_COMPILE_OPTIONS =-Wc,dll,"langlvl(extended),float(ieee)" -D${PLATFORM} -D_XOPEN_SOURCE_EXTENDED -DXALAN_BUILD_DLL
ALLLIBS =
ifeq (${OS390_XPLINK},1)
SHLIBSUFFIX=.xplink.dll
OS390SIDEDECK=.xplink.x
else
SHLIBSUFFIX=.dll
OS390SIDEDECK=.x
endif
CPPMSGFLAGS = -2 -DNDEBUG -DXALAN_XALANMSGLIB_BUILD_DLL
CMSGFLAGS = -2 -DNDEBUG -DXALAN_XALANMSGLIB_BUILD_DLL
CXXMSGFLAGS = -2 -DNDEBUG -DXALAN_XALANMSGLIB_BUILD_DLL
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) ${LDFLAGS} $(PLATFORM_COMPILE_OPTIONS)
ifeq (-DNDEBUG,$(findstring -DNDEBUG,${CXXFLAGS}))
CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS) -DNDEBUG
else
CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS)
endif
CC3 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC5 = $(CXX) $(CXXMSGFLAGS) $(PLATFORM_COMPILE_OPTIONS) {$LDFLAGS}
MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -Wl,dll ${LDFLAGS}
MAKE_SHARED_MSG = ${CXX} $(CXXMSGFLAGS) -D${PLATFORM} -Wl,dll ${LDFLAGS}
LINK = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) ${LDFLAGS}
XERCES_LIB=$(XERCESCROOT)/lib/libxerces-c3_1_1.x
ICU_LIB=$(XERCESCROOT)/lib/libicuuc33.0$(OS390SIDEDECK) $(XERCESCROOT)/lib/libicui18n33.0$(OS390SIDEDECK)
LIB=$(LIB_NAME).$(VER)$(SHLIBSUFFIX)
LIBRARY_SEARCH_PATH=
LIBRARY_LINK_NAME=$(XSL_LIB_DIR)/$(LIB_NAME).$(VER)$(OS390SIDEDECK)
LOCAL_LIB=${XSL_LIB_DIR}/lib$(LOC_PROJECT_NAME).$(VER)$(OS390SIDEDECK)
LOC_LIB=${LOC_LIBNAME}.${VER}$(SHLIBSUFFIX)
MESSAGELIB=${XSL_LIB_DIR}/${LOC_LIB}
## OS390BATCH
ifeq (${OS390BATCH},1)
BATCH_XALAN_UTIL_NAME = IXMXAL20
BATCH_TEST_UTIL_NAME = IXMTST20
ifeq (${OS390_XPLINK},1)
BATCH_PROJECT_NAME = IXMLX20
BATCH_MESSAGE_NAME = IXMMXG20
BATCH_XML_PROJ_NAME = IXM4C6XX
BATCH_ICUUC_PROJ_NAME = IXMI33XC
BATCH_ICUIN_PROJ_NAME = IXMI33XN
else
BATCH_PROJECT_NAME = IXMLC20
BATCH_MESSAGE_NAME = IXMMSG20
BATCH_XML_PROJ_NAME = IXM4C56X
BATCH_ICUUC_PROJ_NAME = IXMI33UC
BATCH_ICUIN_PROJ_NAME = IXMI33IN
endif
XERCES_LIB = "//'${LOADEXP}(${BATCH_XML_PROJ_NAME})'"
ICU_LIB = "//'${LOADEXP}(${BATCH_ICUUC_PROJ_NAME})'" "//'${LOADEXP}(${BATCH_ICUIN_PROJ_NAME})'"
LOCAL_LIB = "//'${LOADEXP}(${BATCH_MESSAGE_NAME})'"
BATCH_TARGET = "//'${LOADMOD}(${BATCH_PROJECT_NAME})'"
# ALLLIBS = ${XERCES_LIB} ${ICU_LIB} "//'${LOADEXP}(${BATCH_MESSAGE_NAME})'"
LIBRARY_LINK_NAME= "//'${LOADEXP}(${BATCH_PROJECT_NAME})'"
MESSAGELIB="//'${LOADMOD}(${BATCH_MESSAGE_NAME})'"
endif ## OS390BATCH
MAKE_SHARED_LOC=$(MAKE_SHARED)
endif
#============ TRU64 SPECIFIC OPTIONS ============================
ifeq ($(PLATFORM), TRU64)
SUPPORTED = TRUE
PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -ptr ${XSL_OBJ_DIR}/.cxx_repository -ieee -pthread -std strict_ansi_errors
ALLLIBS = ${LIBS} -L/usr/lib -lm
SHLIBSUFFIX = .so
CC1 = $(CXX) $(CPPFLAGS) ${CXXFLAGS} $(PLATFORM_COMPILE_OPTIONS) -nocxxstd
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
MAKE_SHARED = ${CXX} ${CXXFLAGS} -shared -D${PLATFORM} -ptr ${XSL_OBJ_DIR}/.cxx_repository -ieee -pthread -std strict_ansi_errors -nocxxstd ${LDFLAGS}
LINK = ${CXX} $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) ${LDFLAGS}
MAKE_SHARED_LOC=$(MAKE_SHARED)
endif
#============ MacOSX SPECIFIC OPTIONS ============================
ifeq ($(PLATFORM), MACOSX)
SUPPORTED = TRUE
PLATFORM_COMPILE_OPTIONS = -Wall -fno-elide-constructors -D${PLATFORM} -D_REENTRANT -DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS
ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib
SHLIBSUFFIX=.dylib
CC1 = ${CXX} $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
CC4 = ${CC} $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
LIB = $(LIB_NAME).$(LIB_MAJOR_VER).$(LIB_MINOR_VER)$(SHLIBSUFFIX)
SO_NAME = $(LIB_NAME).$(LIB_MAJOR_VER)$(SHLIBSUFFIX)
MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -dynamiclib -prebind -seg1addr 0x38000000 -compatibility_version 1 -current_version $(LIB_MAJOR_DOT_VER) -install_name ${PREFIX}/lib/${LINK_NAME} ${LDFLAGS}
LINK = ${CXX} $(CXXFLAGS) ${PLATFORM_COMPILE_OPTIONS} ${LDFLAGS}
export DYLD_FALLBACK_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(DYLD_FALLBACK_LIBRARY_PATH)
LOC_LIB = ${LOC_LIBNAME}.${LIB_MAJOR_VER}.${LIB_MINOR_VER}$(SHLIBSUFFIX)
LOC_SONAME = ${LOC_LIBNAME}.${LIB_MAJOR_VER}${SHLIBSUFFIX}
MAKE_SHARED_LOC= ${CXX} $(CXXFLAGS) -D${PLATFORM} -dynamiclib -prebind -seg1addr 0x40000000 -compatibility_version 1 -current_version $(LIB_MAJOR_DOT_VER) -install_name ${PREFIX}/lib/${LOC_LIBNAME}${SHLIBSUFFIX} ${LDFLAGS}
endif
#=============== OS400 SPECIFIC OPTIONS =========================
ifeq ($(PLATFORM), OS400)
SUPPORTED = TRUE
PLATFORM_COMPILE_OPTIONS = -v -D_MULTI_THREADED -D${PLATFORM} -DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS
PLATFORM_C_COMPILE_OPTIONS = -v -D_MULTI_THREADED -D${PLATFORM} -DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS
ALLLIBS =
MAKE_SHARED = ld -v ${LDFLAGS}
MAKE_SHARED_C = ld -v ${LDFLAGS}
SHLIBSUFFIX=.a
CC1 = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
ifeq (-DNDEBUG,$(findstring -DNDEBUG,${CXXFLAGS}))
CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS2) -DNDEBUG
else
CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS2)
endif
CC3 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS2)
CC4 = $(CC) $(CFLAGS) $(PLATFORM_COMPILE_OPTIONS)
TO = qwobj
EXTRA_COMPILE_OPTIONS = -I. -g -qTERASPACE="*YES *NOTSIFC" -qSTGMDL="*INHERIT" -DXML_USE_ICONV400_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSSOR_SOCKET -qTGTRLS="V5R1M0"
EXTRA_LINK_OPTIONS = -qOPTION="*DUPPROC *DUPVAR *NOWARN"
LINK = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) ${LDFLAGS}
endif
ifndef SUPPORTED
nogood:
@echo Linux, Solaris, AIX, Compaq Tru64, OS/390, MacOSX, HP-UX, NETBSD, FREEBSD, CYGWIN, and MINGW are the only platforms supported.
endif
ALLLIBS += $(XERCES_LIB)
ALLLIBS += $(LOCAL_LIB)
ifdef XALAN_USE_ICU
ALLLIBS += $(ICU_LIB)
endif