# # 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. # # # # $Id$ # ################## LIBRARY NAMES AND DIRECTORIES ################## ifeq (${SYSOVR},OS400) PLATFORM = OS400 endif INCLUDES= -I. -I${XERCESCROOT}/include LIB_DIR=${XERCESCROOT}/lib ifneq (${PLATFORM},OS400) LIBNAME=xerces-c else LIBNAME=xercesc endif THISLIB=${LIB_DIR}/${LIBNAME} LIBRARY_NAMES=-l${LIBNAME} LIBRARY_SEARCH_PATHS=-L${LIB_DIR} ifndef XERCESCOUT XERCESCOUT=${XERCESCROOT} endif TO = o ####################### PLATFORM DEPENDENCIES ##################### #=============== IRIX SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, IRIX) ifeq (${GXX}, yes) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -fpic LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib EXTRA_LINK_OPTIONS=${EXTRA_LIBS} ifneq (${THREADS},none) CC += -D_REENTRANT endif else CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -LANG:pch -LANG:std -O2 -I/usr/local/include -no_auto_include LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS= EXTRA_LINK_OPTIONS=${EXTRA_LIBS} ifneq (${THREADS},none) CC += -D_REENTRANT endif endif endif #=============== SOLARIS SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, SOLARIS) ifeq (${GXX}, yes) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -fpic LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib EXTRA_LINK_OPTIONS=${EXTRA_LIBS} ifneq (${THREADS},none) CC += -D_REENTRANT endif else CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -pic LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib EXTRA_LINK_OPTIONS=-lc -lgen ${EXTRA_LIBS} ifneq (${THREADS},none) CC += -D_REENTRANT -mt endif endif endif #=============== OPENSERVER SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, OPENSERVER) CC=${COMPILER} -D${PLATFORM} -fPIC CMP=-c ${CXXFLAGS} LINK=${CC} ${LDFLAGS} EXTRA_LINK_OPTIONS=-lc -lsocket ${EXTRA_LIBS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib endif #=============== UNIXWARE SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, UNIXWARE) CMP= -O2 -c ${CXXFLAGS} CC= ${COMPILER} -D${PLATFORM} -fpic LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} EXTRA_LINK_OPTIONS=-lc -lsocket ${EXTRA_LIBS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib ifneq (${THREADS},none) CMP += -D_REENTRANT -pthread LINK += -pthread endif endif #================= PTX SPECIFIC OPTIONS =========================== ifeq (${PLATFORM}, PTX) CMP = -c -KPIC -D${PLATFORM} -w -O CC= ${COMPILER} LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS} EXTRA_LINK_OPTIONS=-lm -lgen ${EXTRA_LIBS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib -L${XMLINSTALL}/lib ifneq (${THREADS},none) CMP += -Kthread LINK += -Kthread endif endif #================= AIX SPECIFIC OPTIONS =========================== ifeq (${PLATFORM}, AIX) ifeq (${GXX}, yes) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -fpic LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib EXTRA_LINK_OPTIONS= ${EXTRA_LIBS} ifneq (${THREADS},none) CC += -D_REENTRANT endif else ifeq (${CXXVER}, v5compat) CMP= -c ${CXXFLAGS} -qnotempinc -qnamemangling=v5 else CMP= -c ${CXXFLAGS} -qnotempinc -qnamemangling=ansi endif ifneq (${THREADS},none) CMP += -D_THREAD_SAFE endif CC=${COMPILER} -D${PLATFORM} LINK = ${COMPILER} ${LDFLAGS} ifeq (${BITSTOBUILD}, 64) EXTRA_LINK_OPTIONS=-bmaxdata:0x80000000000 else EXTRA_LINK_OPTIONS=-bmaxdata:0x80000000 endif endif endif #=============== OS400 SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, OS400) ifeq (${SYSOVR},OS400) MYCC = cross compiler path here TO = qwobj else MYCC = icc LINK = ${CC} -v ${LDFLAGS} endif CMP= -c -DOS400 ${CXXFLAGS} CXX = $(MYCC) CC = $(MYCC) #INCLUDES += -I${ICUROOT}/include EXTRA_LINK_OPTIONS=-q OPTION='*DUPPROC *DUPVAR' ${EXTRA_LIBS} endif #=============== BEOS SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, BEOS) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -DAPP_NO_THREADS -fpic LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/boot/develop/lib/x86 -L/boot/home/config/lib EXTRA_LINK_OPTIONS=-lbe ${EXTRA_LIBS} endif #=============== LINUX SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, LINUX) ifeq (${COMPILER}, xlC_r) CMP= -c ${CXXFLAGS} -qnotempinc CC= ${COMPILER} -c -D${PLATFORM} LINK = ${COMPILER} ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib EXTRA_LINK_OPTIONS=${EXTRA_LIBS} ifneq (${THREADS},none) CMP += -D_REENTRANT endif else CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -fpic LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib EXTRA_LINK_OPTIONS=${EXTRA_LIBS} ifneq (${THREADS},none) CMP += -D_REENTRANT endif endif endif #=============== QNX SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, QNX) CMP= -c ${CXXFLAGS} CC= ${COMPILER} LINK = ${COMPILER} ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib EXTRA_LINK_OPTIONS=${EXTRA_LIBS} endif #=============== CYGWIN SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, CYGWIN) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D__${PLATFORM}__ LINK = ${COMPILER} -D__${PLATFORM}__ ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib EXTRA_LINK_OPTIONS=${EXTRA_LIBS} endif #=============== INTERIX SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, INTERIX) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -D_ALL_SOURCE LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS} ifneq (${THREADS},none) CMP += -D_REENTRANT endif endif #=============== MINGW SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, MINGW) CMP= -c ${CXXFLAGS} -fexceptions CC= ${COMPILER} -c -D__${PLATFORM}__ LINK = ${COMPILER} -D__${PLATFORM}__ ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib EXTRA_LINK_OPTIONS=${EXTRA_LIBS} endif #=============== FREEBSD SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, FREEBSD) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -fPIC LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib ifdef ICUROOT PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT} EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS} else EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++ endif endif #=============== NETBSD SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, NETBSD) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -fPIC LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib ifdef ICUROOT PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT} EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS} else EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++ endif endif #================= HP SPECIFIC OPTIONS =========================== ifeq (${PLATFORM}, HPUX) ifeq (${GXX}, yes) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} -fpic LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib EXTRA_LINK_OPTIONS= ${EXTRA_LIBS} ifneq (${THREADS},none) CMP += -D_REENTRANT endif else ifeq (${COMPILER}, aCC) ifeq (${CXXVER}, aCC05) CMP = -c $(CXXFLAGS) -D_HP_UX -DHPaCC -w +z ifneq (${THREADS},none) CMP += -mt endif else CMP = -c +DAportable $(CXXFLAGS) -D_HP_UX -DHPaCC -w +z endif CC = aCC LINK = ${CC} -Wl,+s -Wl,+b,. ${LDFLAGS} ifeq (${CXXVER}, aCC05) PLATFORM_LIB_LINK_OPTIONS=-L/opt/aCC/lib -L/usr/ccs/lib else PLATFORM_LIB_LINK_OPTIONS=-L/opt/aCC/lib -L/usr/ccs/lib endif ifneq (${THREADS},none) ifeq (${CXXVER}, aCC05) PLATFORM_LIB_LINK_OPTIONS += -mt else PLATFORM_LIB_LINK_OPTIONS += -lpthread endif endif else ifneq (${DEBUG}, 1) CXXFLAGS = -w +O1 endif APPL_NAME = $(notdir $(shell pwd)) TEMPLATESDIR = $(XERCESCROOT)/bin/obj/$(APPL_NAME)/ptrepository COMMON_CMP = $(CXXFLAGS) -D_HP_UX -DHPCC +DAportable -w +eh +z -z \ -ptr$(TEMPLATESDIR) CMP = -c $(COMMON_CMP) CC = CC LINK = ${CC} $(COMMON_CMP) -Wl,+s -Wl,+b,. ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/opt/CC/lib -L/usr/lib endif endif endif #================= OS390 SPECIFIC OPTIONS =========================== ################################################################### # IMPORTANT NOTE # ################################################################### # Before you try to run the Makefile, make sure you have two # # environment variables set. # # # # 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=SYS1.SIXMEXP or &hlq.SIXMEXP # # # # to specify your LOADMOD and the IXM4C56X definition sidedeck # # dataset. # ################################################################### ifeq (${PLATFORM}, OS390) ifeq (${OS390_XPLINK},1) XPLINK_CCOPTS=-Wc,'XPLINK' XPLINK_LKOPTS=-Wl,'XPLINK' else XPLINK_CCOPTS= XPLINK_LKOPTS= endif CMP= -c -DOS390 ${CXXFLAGS} ${XPLINK_CCOPTS} ## OS390BATCH ifeq (${OS390BATCH},1) CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -DOS390BATCH else CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED endif LINK = ${CC} ${LDFLAGS} ${XPLINK_LKOPTS} PLATFORM_LIB_LINK_OPTIONS= EXTRA_LINK_OPTIONS=${EXTRA_LIBS} ifeq (${OS390_XPLINK},1) OS390SIDEDECK=.xplink.x OS390BATCH_MAIN_DLL=IXM4C6XX else OS390SIDEDECK=.x OS390BATCH_MAIN_DLL=IXM4C56X endif ## OS390BATCH ifeq (${OS390BATCH},1) LIBRARY_NAMES="//'${LOADEXP}(${OS390BATCH_MAIN_DLL})'" else LIBRARY_NAMES=${LIB_DIR}/lib${LIBNAME}${VER}${OS390SIDEDECK} endif LIBRARY_SEARCH_PATHS= endif #=============== TRU64 SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, TRU64) CMP= -c ${CXXFLAGS} CC = ${COMPILER} -c -D${PLATFORM} LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib endif #=============== MacOS SPECIFIC OPTIONS ========================= ifeq (${PLATFORM}, MACOSX) CMP= -c ${CXXFLAGS} CC= ${COMPILER} -c -D${PLATFORM} LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS} PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -framework CoreServices ifneq (${THREADS},none) CMP += -D_REENTRANT endif endif