2 # Copyright 1999-2004 The Apache Software Foundation.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
21 ################## LIBRARY NAMES AND DIRECTORIES ##################
23 ifeq (${SYSOVR},OS400)
26 INCLUDES= -I. -I${XERCESCROOT}/include
27 LIB_DIR=${XERCESCROOT}/lib
28 ifneq (${PLATFORM},OS400)
33 THISLIB=${LIB_DIR}/${LIBNAME}
35 LIBRARY_NAMES=-l${LIBNAME}
36 LIBRARY_SEARCH_PATHS=-L${LIB_DIR}
39 XERCESCOUT=${XERCESCROOT}
43 ####################### PLATFORM DEPENDENCIES #####################
45 #=============== IRIX SPECIFIC OPTIONS =========================
46 ifeq (${PLATFORM}, IRIX)
49 CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic
50 LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS}
51 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
52 EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS}
55 CC= CC -c -D${PLATFORM} -LANG:pch -LANG:std -O2 -D_REENTRANT -I/usr/local/include
56 LINK = CC -D${PLATFORM} ${LDFLAGS}
57 PLATFORM_LIB_LINK_OPTIONS=
58 EXTRA_LINK_OPTIONS=${EXTRA_LIBS}
63 #=============== SOLARIS SPECIFIC OPTIONS =========================
64 ifeq (${PLATFORM}, SOLARIS)
67 CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic
68 LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS}
69 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
70 EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS}
73 CC= CC -c -D${PLATFORM} -D_REENTRANT -pic
74 LINK = CC -D${PLATFORM} ${LDFLAGS}
75 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib
76 EXTRA_LINK_OPTIONS=-lc -lgen ${EXTRA_LIBS}
81 #=============== OPENSERVER SPECIFIC OPTIONS =========================
82 ifeq (${PLATFORM}, OPENSERVER)
83 CC=${COMPILER} -D${PLATFORM} -fPIC
86 EXTRA_LINK_OPTIONS=-lc -lsocket ${EXTRA_LIBS}
87 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
91 #=============== UNIXWARE SPECIFIC OPTIONS =========================
92 ifeq (${PLATFORM}, UNIXWARE)
93 CMP= -O2 -c ${CXXFLAGS} -pthread
94 CC= ${COMPILER} -O2 -c -D${PLATFORM} -D_REENTRANT -fpic -pthread
95 LINK = ${COMPILER} -D${PLATFORM} -fpic -pthread ${LDFLAGS}
96 EXTRA_LINK_OPTIONS=-lc -lsocket ${EXTRA_LIBS}
97 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
101 #================= PTX SPECIFIC OPTIONS ===========================
102 ifeq (${PLATFORM}, PTX)
103 COMPILESWITCH= -KPIC -Kthread -DPTX -w -O
104 CMP = -c ${COMPILESWITCH}
106 LINK = ${CC} -DPTX -Kthread ${LDFLAGS}
107 PLATFORM_CPP_COMPILER = c++
108 PLATFORM_C_COMPILER = cc
110 PLATFORM_COMPILE_OPTIONS = -KPIC -Kthread -DPTX
111 MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -DPTX -G
112 MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -DPTX -G
113 PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib -L${XMLINSTALL}/lib
114 EXTRA_LINK_OPTIONS=-lm -lgen ${EXTRA_LIBS}
118 #================= AIX SPECIFIC OPTIONS ===========================
119 ifeq (${PLATFORM}, AIX)
121 ifeq (${CXXVER}, v5compat)
122 CMP= -c ${CXXFLAGS} -qnotempinc -qnamemangling=v5
124 CMP= -c ${CXXFLAGS} -qnotempinc -qnamemangling=ansi
127 CC=${COMPILER} -D${PLATFORM}
128 LINK = ${COMPILER} ${LDFLAGS}
129 ifeq (${BITSTOBUILD}, 64)
130 EXTRA_LINK_OPTIONS=-bmaxdata:0x80000000000
132 EXTRA_LINK_OPTIONS=-bmaxdata:0x80000000
134 # the compiler knows about this two
135 # PLATFORM_LIB_LINK_OPTIONS=-L/usr/lpp/xlC/lib
136 # EXTRA_LINK_OPTIONS=-lC ${EXTRA_LIBS}
137 # EXTRA_LINK_OPTIONS=-bnolibpath
141 #=============== OS400 SPECIFIC OPTIONS =========================
142 ifeq (${PLATFORM}, OS400)
143 ifeq (${SYSOVR},OS400)
144 MYCC = cross compiler path here
148 LINK = ${CC} -v ${LDFLAGS}
150 CMP= -c -DOS400 ${CXXFLAGS}
153 #INCLUDES += -I${ICUROOT}/include
155 EXTRA_LINK_OPTIONS=-q OPTION='*DUPPROC *DUPVAR' ${EXTRA_LIBS}
158 #=============== BEOS SPECIFIC OPTIONS =========================
159 ifeq (${PLATFORM}, BEOS)
161 CC= ${COMPILER} -c -D${PLATFORM} -DAPP_NO_THREADS -fpic
162 LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS}
163 PLATFORM_LIB_LINK_OPTIONS=-L/boot/develop/lib/x86 -L/boot/home/config/lib
164 EXTRA_LINK_OPTIONS=-lbe ${EXTRA_LIBS}
168 #=============== LINUX SPECIFIC OPTIONS =========================
169 ifeq (${PLATFORM}, LINUX)
171 CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic
172 LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS}
173 PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib
174 EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS}
178 #=============== QNX SPECIFIC OPTIONS =========================
179 ifeq (${PLATFORM}, QNX)
182 LINK = QCC ${LDFLAGS}
183 PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib
184 EXTRA_LINK_OPTIONS=${EXTRA_LIBS}
189 #=============== CYGWIN SPECIFIC OPTIONS =========================
190 ifeq (${PLATFORM}, CYGWIN)
192 CC= ${COMPILER} -c -D__${PLATFORM}__
193 LINK = ${COMPILER} -D__${PLATFORM}__ ${LDFLAGS}
194 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
195 EXTRA_LINK_OPTIONS=${EXTRA_LIBS}
199 #=============== MINGW SPECIFIC OPTIONS =========================
200 ifeq (${PLATFORM}, MINGW)
201 CMP= -c ${CXXFLAGS} -fexceptions
202 CC= ${COMPILER} -c -D__${PLATFORM}__
203 LINK = ${COMPILER} -D__${PLATFORM}__ ${LDFLAGS}
204 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
205 EXTRA_LINK_OPTIONS=${EXTRA_LIBS}
209 #=============== FREEBSD SPECIFIC OPTIONS =========================
210 ifeq (${PLATFORM}, FREEBSD)
212 CC= ${COMPILER} -c -D${PLATFORM} -fPIC
213 LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS}
214 PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib
216 PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT}
217 EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS}
219 EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++
224 #=============== NETBSD SPECIFIC OPTIONS =========================
225 ifeq (${PLATFORM}, NETBSD)
227 CC= ${COMPILER} -c -D${PLATFORM} -fPIC
228 LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS}
229 PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib
231 PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT}
232 EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS}
234 EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++
239 #================= HP SPECIFIC OPTIONS ===========================
240 ifeq (${PLATFORM}, HPUX)
241 ifeq (${COMPILER}, aCC)
242 ifeq (${CXXVER}, aCC05)
243 CMP = -c +DAportable $(CXXFLAGS) -D_HP_UX -DHPaCC -w +z -mt
245 CMP = -c +DAportable $(CXXFLAGS) -D_HP_UX -DHPaCC -w +z
249 LINK = ${CC} -Wl,+s -Wl,+b,. ${LDFLAGS}
251 ifeq (${CXXVER}, aCC05)
252 PLATFORM_LIB_LINK_OPTIONS=-L/opt/aCC/lib -L/usr/ccs/lib -mt
254 PLATFORM_LIB_LINK_OPTIONS=-L/opt/aCC/lib -L/usr/ccs/lib -lpthread
262 APPL_NAME = $(notdir $(shell pwd))
263 TEMPLATESDIR = $(XERCESCROOT)/bin/obj/$(APPL_NAME)/ptrepository
264 COMMON_CMP = $(CXXFLAGS) -D_HP_UX -DHPCC +DAportable -w +eh +z -z \
266 CMP = -c $(COMMON_CMP)
268 LINK = ${CC} $(COMMON_CMP) -Wl,+s -Wl,+b,. ${LDFLAGS}
269 PLATFORM_LIB_LINK_OPTIONS=-L/opt/CC/lib -L/usr/lib
274 #================= OS390 SPECIFIC OPTIONS ===========================
275 ###################################################################
277 ###################################################################
278 # Before you try to run the Makefile, make sure you have two #
279 # environment variables set. #
281 # export XERCESCROOT=<the directory where you installed XERCES-C> #
283 # If you are going to do the OS390BATCH build, make sure you have #
284 # the OS390BATCH environment variable set. #
286 # export OS390BATCH=1 #
290 # export LOADMOD=USERID.LOAD #
291 # export LOADEXP=SYS1.SIXMEXP or &hlq.SIXMEXP #
293 # to specify your LOADMOD and the IXM4C55X definition sidedeck #
295 ###################################################################
297 ifeq (${PLATFORM}, OS390)
298 CMP= -c -DOS390 ${CXXFLAGS}
300 ifeq (${OS390BATCH},1)
301 CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -DOS390BATCH
303 CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED
305 LINK = ${CC} ${LDFLAGS}
306 PLATFORM_LIB_LINK_OPTIONS=
307 EXTRA_LINK_OPTIONS=${EXTRA_LIBS}
311 ifeq (${OS390BATCH},1)
312 LIBRARY_NAMES="//'${LOADEXP}(IXM4C55X)'"
314 LIBRARY_NAMES=${LIB_DIR}/lib${LIBNAME}${VER}${OS390SIDEDECK}
316 LIBRARY_SEARCH_PATHS=
320 #=============== TRU64 SPECIFIC OPTIONS =========================
321 ifeq (${PLATFORM}, TRU64)
323 CC = ${COMPILER} -c -D${PLATFORM}
324 LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS}
325 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
330 #=============== MacOS SPECIFIC OPTIONS =========================
331 ifeq (${PLATFORM}, MACOSX)
333 CC= c++ -c -D${PLATFORM} -D_REENTRANT
334 LINK = c++ -D${PLATFORM} ${LDFLAGS}
335 PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib