| # |
| # 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: Makefile.in 570129 2007-08-27 14:10:51Z amassari $ |
| # |
| |
| ################################################################### |
| # IMPORTANT NOTE # |
| ################################################################### |
| # If you are going to do the OS390BATCH build, make sure you have # |
| # the OS390BATCH environment variable set. # |
| # # |
| # export OS390BATCH=1 # |
| # # |
| ################################################################### |
| |
| PLATFORM = @platform@ |
| CC = @cc@ |
| CXX = @cxx@ |
| CXXVER = @cxxver@ |
| GCC = @GCC@ |
| GXX = @GXX@ |
| PREFIX = @prefix@ |
| LDFLAGS = @ldflags@ |
| LIBS = @libs@ |
| OSVER = @osver@ |
| TRANSCODER = @transcoder@ |
| MESSAGELOADER = @messageloader@ |
| LIBTYPE = @libtype@ |
| ARCH = @host_cpu@ |
| BITSTOBUILD = @bitstobuild@ |
| |
| include ../version.incl |
| include ../src/xercesc/Makefile.incl |
| |
| LIB=${XERCESCROOT}/lib |
| ## OS390BATCH |
| ifeq (${OS390BATCH},1) |
| BATCH_TARGET = "//'${LOADMOD}(IXM4C56)'" |
| BATCH_EXP = "//'${LOADEXP}(IXM4C56)'" |
| DEPDOM_TARGET = "//'${LOADMOD}(IXMDD56)'" |
| endif |
| |
| ALL_OBJECTS=$(wildcard $(PLATFORM)/*.o) |
| # obj/<platform>/depdom/*.o |
| DEPDOM_OBJECTS=$(wildcard $(PLATFORM)/depdom/*.o) |
| DEPDOM_OBJS_REF=${DEPDOM_OBJECTS} |
| # obj/<platform>/*.o |
| DEPDOM_OBJS=$(subst depdom/,,${DEPDOM_OBJS_REF}) |
| |
| ####################################################### |
| # HP-UX with CC compiler is awkward since it does # |
| # not instantiate templates automatically. To do so # |
| # you need to invoke the linker. So, just for this # |
| # compiler, we try to create a dummy executable # |
| # before we create the shared library. This will # |
| # force all templates to be instantiated and the # |
| # shared library is created with all template # |
| # instantiations in place. # |
| ####################################################### |
| |
| ifeq (${LIBTYPE},shared) |
| ifeq (${PLATFORM},HPUX) |
| ifeq (${CXX},CC) |
| ###### Start HP-UX CC compiler specific stuff ####### |
| |
| DUMMYEXE=$(XML_LIB_DIR)/dummyExe |
| TEMPLATESOBJS=$(wildcard $(TEMPLATESREPOSITORY)/*.o) |
| |
| all: $(DUMMYEXE) ${FQ_REAL_NAME} ${FQ_REAL_DEPDOM} |
| \rm -f $(DUMMYEXE) |
| |
| $(DUMMYEXE): $(ALL_OBJECTS) |
| ${MAKE_SHARED} -o ${@} $^ $(PLATFORM_LIBRARIES) $(ALLLIBS) |
| |
| ###### End HP-UX CC compiler specific stuff ####### |
| else |
| all: ${FQ_REAL_NAME} ${FQ_REAL_DEPDOM} |
| endif |
| else |
| ## Start OS390BATCH ## |
| ifeq (${OS390BATCH},1) |
| all: ${BATCH_TARGET} ${DEPDOM_TARGET} |
| ## End OS390BATCH ## |
| else |
| ifeq (${PLATFORM},CYGWIN) |
| all: ${FQ_SO_NAME} ${FQ_SO_DEPDOM} |
| else |
| all: ${FQ_REAL_NAME} ${FQ_REAL_DEPDOM} |
| endif |
| endif |
| endif |
| else # static |
| all: ${FQ_A_NAME} ${FQ_A_DEPDOM} |
| endif |
| |
| ######################################################## |
| # # |
| # OS/390 works pretty much the same way as Windows NT # |
| # as far as linking goes. The runtime library is # |
| # called .dll, and the link-time libraries have a .x # |
| # extension. You need the .x files to link # |
| # your application at build time and need the .dll # |
| # file to run it. So, we need to copy over the .x # |
| # file to the lib directory as well, so that you can # |
| # link your application. # |
| ######################################################## |
| |
| ifeq (${LIBTYPE},shared) |
| |
| ifeq (${PLATFORM},CYGWIN) |
| ${FQ_SO_NAME}: $(ALL_OBJECTS) |
| @echo Building ${FQ_SO_NAME} |
| ${MAKE_SHARED} ${LD_SONAME} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS) |
| @echo symlink ${FQ_REAL_NAME}.a |
| rm -rf ${FQ_REAL_NAME}.a && ln -s ${XML_LIB_DIR}/${LIBNAME}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a ${FQ_REAL_NAME}.a |
| @echo symlink ${FQ_LINK_NAME}.a |
| rm -rf ${FQ_LINK_NAME}.a && ln -s ${FQ_REAL_NAME}.a ${FQ_LINK_NAME}.a |
| |
| ## DepDOM ## |
| ${FQ_SO_DEPDOM}: $(DEPDOM_OBJECTS) |
| @echo Building ${FQ_SO_DEPDOM} |
| ${MAKE_SHARED} ${LD_SODEPDOM} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(DEPDOM_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME} |
| @echo symlink ${FQ_REAL_DEPDOM}.a |
| rm -rf ${FQ_REAL_DEPDOM}.a && ln -s ${XML_LIB_DIR}/${LIBDEPDOM}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a ${FQ_REAL_DEPDOM}.a |
| @echo symlink ${FQ_LINK_DEPDOM}.a |
| rm -rf ${FQ_LINK_DEPDOM}.a && ln -s ${FQ_REAL_DEPDOM}.a ${FQ_LINK_DEPDOM}.a |
| endif |
| |
| ${FQ_REAL_NAME}: $(ALL_OBJECTS) |
| @echo Building ${FQ_REAL_NAME} |
| ${MAKE_SHARED} ${LD_SONAME} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS) |
| ifeq (${PLATFORM},OS390) |
| $(CP) ${LIBNAME}${VER}${OS390SIDEDECK} ${LIB} |
| endif |
| ifneq (${FQ_SO_NAME},${FQ_REAL_NAME}) |
| @echo symlink ${FQ_SO_NAME} |
| rm -rf ${FQ_SO_NAME} && ln -s ${FQ_REAL_NAME} ${FQ_SO_NAME} |
| endif |
| @echo symlink ${FQ_LINK_NAME} |
| rm -rf ${FQ_LINK_NAME} && ln -s ${FQ_SO_NAME} ${FQ_LINK_NAME} |
| |
| ## DepDOM ## |
| ${FQ_REAL_DEPDOM}: $(DEPDOM_OBJECTS) |
| @echo Building ${FQ_REAL_DEPDOM} |
| ifeq (${PLATFORM},SOLARIS) |
| cp $(DEPDOM_OBJECTS) $(PLATFORM) |
| ${MAKE_SHARED} ${LD_SODEPDOM} -o ${@} ${DEPDOM_OBJS} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(DEPDOM_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME} |
| rm ${DEPDOM_OBJS} |
| else |
| ifeq (${PLATFORM},OS390) |
| ${MAKE_SHARED} ${LD_SODEPDOM} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(DEPDOM_LINK_OPTIONS) $(ALLLIBS) ${LIB}/${LIBNAME}${VER}${OS390SIDEDECK} |
| $(CP) ${LIBDEPDOM}${VER}${OS390SIDEDECK} ${LIB} |
| else |
| ${MAKE_SHARED} ${LD_SODEPDOM} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(DEPDOM_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME} |
| endif |
| endif |
| ifneq (${FQ_SO_DEPDOM},${FQ_REAL_DEPDOM}) |
| @echo symlink ${FQ_SO_DEPDOM} |
| rm -rf ${FQ_SO_DEPDOM} && ln -s ${FQ_REAL_DEPDOM} ${FQ_SO_DEPDOM} |
| endif |
| @echo symlink ${FQ_LINK_DEPDOM} |
| rm -rf ${FQ_LINK_DEPDOM} && ln -s ${FQ_SO_DEPDOM} ${FQ_LINK_DEPDOM} |
| |
| ## Start OS390 ## |
| ifeq (${PLATFORM},OS390) |
| ## Start OS390BATCH ## |
| ifeq (${OS390BATCH},1) |
| ${BATCH_TARGET}: $(ALL_OBJECTS) |
| @echo Building ${BATCH_TARGET} |
| ${MAKE_SHARED} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS) |
| ${DEPDOM_TARGET}: $(DEPDOM_OBJECTS) |
| @echo Building ${DEPDOM_TARGET} |
| ${MAKE_SHARED} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(DEPDOM_LINK_OPTIONS) $(ALLLIBS) $(BATCH_EXP) |
| endif |
| endif |
| ## End OS390 and OS390BATCH |
| |
| else # static |
| ${FQ_A_NAME}: $(ALL_OBJECTS) |
| @echo Building ${FQ_A_NAME} |
| ${AR} $(ARFLAGS) ${@} ${^} |
| ifneq ($(RANLIB),) |
| $(RANLIB) ${@} |
| endif |
| |
| ${FQ_A_DEPDOM}: $(DEPDOM_OBJECTS) |
| @echo Building ${FQ_A_DEPDOM} |
| ${AR} $(ARFLAGS) ${@} ${^} |
| ifneq ($(RANLIB),) |
| $(RANLIB) ${@} |
| endif |
| endif |
| |
| |
| |
| clean: |
| @echo "Making clean in obj ..." |
| -rm -f $(ALL_OBJECTS) $(DEPDOM_OBJECTS) |
| ifneq ($(strip $(TEMPLATESREPOSITORY)),) |
| -rm -f $(TEMPLATESREPOSITORY)/*.o |
| -rm -f $(TEMPLATESREPOSITORY)/*.c |
| -rm -f $(TEMPLATESREPOSITORY)/*.cs |
| -rm -f $(TEMPLATESREPOSITORY)/*.he |
| endif |
| ifeq (${LIBTYPE},shared) |
| -rm -f ${FQ_REAL_NAME} ${FQ_REAL_DEPDOM} |
| ifeq (${PLATFORM}, CYGWIN) |
| -rm -f ${XML_LIB_DIR}/${LIBNAME}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a |
| -rm -f ${FQ_LINK_NAME}.a |
| -rm -f ${FQ_REAL_NAME}.a |
| |
| -rm -f ${XML_LIB_DIR}/${LIBDEPDOM}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a |
| -rm -f ${FQ_LINK_DEPDOM}.a |
| -rm -f ${FQ_REAL_DEPDOM}.a |
| else |
| -rm -f ${FQ_SO_NAME} |
| -rm -f ${FQ_LINK_NAME} |
| |
| -rm -f ${FQ_SO_DEPDOM} |
| -rm -f ${FQ_LINK_DEPDOM} |
| endif |
| else # static |
| -rm -f ${FQ_A_NAME} ${FQ_A_DEPDOM} |
| endif |
| -rm -f *.map |
| |
| |
| distclean: clean |
| -rm -f Makefile |
| -rm -Rf $(XML_OBJ_DIR) |
| ifneq ($(strip $(TEMPLATESREPOSITORY)),) |
| -rm -Rf $(TEMPLATESREPOSITORY) |
| endif |
| |
| |
| install: |
| ifeq (${OS390BATCH},1) |
| @echo "Nothing to do for OS390BATCH ..." |
| else |
| -mkdir -p ${DESTDIR}${PREFIX}/lib |
| ifeq (${LIBTYPE},shared) |
| ifeq (${PLATFORM}, CYGWIN) |
| -mkdir -p ${DESTDIR}${PREFIX}/bin |
| $(CP) ${FQ_SO_NAME} ${DESTDIR}${PREFIX}/bin |
| $(CP) $(XML_LIB_DIR)/${LIBNAME}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a ${DESTDIR}${PREFIX}/lib |
| (cd ${DESTDIR}$(PREFIX)/lib; rm -f ${LINK_NAME}.a libxerces.dll.a; ln -s ${LIBNAME}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a ${LINK_NAME}.a; rm -f libxerces.dll.a; ln -s ${LIBNAME}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a libxerces.dll.a) |
| |
| $(CP) ${FQ_SO_DEPDOM} ${DESTDIR}${PREFIX}/bin |
| $(CP) $(XML_LIB_DIR)/${LIBDEPDOM}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a ${DESTDIR}${PREFIX}/lib |
| (cd ${DESTDIR}$(PREFIX)/lib; rm -f ${LINK_DEPDOM}.a libxercesdepdom.dll.a; ln -s ${LIBDEPDOM}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a ${LINK_DEPDOM}.a; rm -f libxercesdepdom.dll.a; ln -s ${LIBDEPDOM}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a libxercesdepdom.dll.a) |
| else |
| $(CP) ${FQ_REAL_NAME} ${DESTDIR}$(PREFIX)/lib |
| (cd ${DESTDIR}$(PREFIX)/lib; rm -f ${SO_NAME}; ln -s ${REAL_NAME} ${SO_NAME}; rm -f ${LINK_NAME}; ln -s ${REAL_NAME} ${LINK_NAME}) |
| |
| $(CP) ${FQ_REAL_DEPDOM} ${DESTDIR}$(PREFIX)/lib |
| (cd ${DESTDIR}$(PREFIX)/lib; rm -f ${SO_DEPDOM}; ln -s ${REAL_DEPDOM} ${SO_DEPDOM}; rm -f ${LINK_DEPDOM}; ln -s ${REAL_DEPDOM} ${LINK_DEPDOM}) |
| endif |
| ifeq (${PLATFORM},OS390) |
| $(CP) ${LIBNAME}${VER}${OS390SIDEDECK} ${DESTDIR}$(PREFIX)/lib |
| $(CP) ${LIBDEPDOM}${VER}${OS390SIDEDECK} ${DESTDIR}$(PREFIX)/lib |
| endif |
| else # shared |
| $(CP) ${FQ_A_NAME} ${DESTDIR}$(PREFIX)/lib |
| $(CP) ${FQ_A_DEPDOM} ${DESTDIR}$(PREFIX)/lib |
| endif |
| endif |
| |