blob: fbb380c326f7ee8c005edf480cf93294bd7b7954 [file] [log] [blame]
#
# The Apache Software License, Version 1.1
#
# Copyright (c) 1999 The Apache Software Foundation. All rights
# reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# 3. The end-user documentation included with the redistribution,
# if any, must include the following acknowledgment:
# "This product includes software developed by the
# Apache Software Foundation (http://www.apache.org/)."
# Alternately, this acknowledgment may appear in the software itself,
# if and wherever such third-party acknowledgments normally appear.
#
# 4. The names "Xerces" and "Apache Software Foundation" must
# not be used to endorse or promote products derived from this
# software without prior written permission. For written
# permission, please contact apache\@apache.org.
#
# 5. Products derived from this software may not be called "Apache",
# nor may "Apache" appear in their name, without prior written
# permission of the Apache Software Foundation.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# ====================================================================
#
# This software consists of voluntary contributions made by many
# individuals on behalf of the Apache Software Foundation, and was
# originally based on software copyright (c) 1999, International
# Business Machines, Inc., http://www.ibm.com . For more information
# on the Apache Software Foundation, please see
# <http://www.apache.org/>.
#
#
# $Log$
# Revision 1.4 1999/11/24 23:21:42 rahulj
# Now works under HPUX 10.20 with CC and aCC, with ICU and native
distclean target now remove and remaining Makefile(s)
clean target now removes the template repository directory
#
# Revision 1.3 1999/11/23 01:59:16 rahulj
# Code now works under HPUX 11. Tested inmemory message loader.
Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
#
# Revision 1.2 1999/11/12 20:38:43 rahulj
# Replaced XML4CROOT with XERCESCROOT.
#
# Revision 1.1.1.1 1999/11/09 01:10:49 twl
# Initial checkin
#
# Revision 1.2 1999/11/08 20:43:14 rahul
# Swat for adding in Product name and CVS comment log variable.
#
#
###################################################################
# 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@
PREFIX = @prefix@
LDFLAGS = @ldflags@
LIBS = @libs@
OSVER = @osver@
include ../src/Makefile.incl
LIB=${XERCESCROOT}/lib
## OS390BATCH
ifeq (${OS390BATCH},1)
BATCH_TARGET = "//'${LOADMOD}(XML4C30)'"
endif
LIBNAME=libxerces-c
THISLIB=${LIB}/${LIBNAME}
VER=1_0
ALL_OBJECTS_DIR=${XERCESCROOT}/obj
ALL_OBJECTS=$(wildcard $(ALL_OBJECTS_DIR)/*.o)
#######################################################
# 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 (${PLATFORM},HPUX)
ifeq (${CXX},CC)
###### Start HP-UX CC compiler specific stuff #######
DUMMYEXE=$(XML_LIB_DIR)/dummyExe
TEMPLATESOBJS=$(wildcard $(TEMPLATESREPOSITORY)/*.o)
all: $(DUMMYEXE) ${THISLIB}${VER}${SHLIBSUFFIX}
\rm -f $(DUMMYEXE)
$(DUMMYEXE): $(ALL_OBJECTS)
${MAKE_SHARED} -o ${@} $^ $(PLATFORM_LIBRARIES) $(ALLLIBS)
###### End HP-UX CC compiler specific stuff #######
else
all: ${THISLIB}${VER}${SHLIBSUFFIX}
endif
else
## OS390BATCH
ifeq (${OS390BATCH},1)
all: ${BATCH_TARGET}
else
all: ${THISLIB}${VER}${SHLIBSUFFIX}
endif
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. #
########################################################
${THISLIB}${VER}${SHLIBSUFFIX}: $(ALL_OBJECTS)
@echo Building ${THISLIB}${VER}${SHLIBSUFFIX}
${MAKE_SHARED} -o ${@} $^ $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS)
## OS390
ifeq (${PLATFORM},OS390)
## OS390BATCH
ifeq (${OS390BATCH},1)
${BATCH_TARGET}: $(ALL_OBJECTS)
@echo Building ${BATCH_TARGET}
${MAKE_SHARED} -o ${@} $^ $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS)
else
$(CP) ${LIBNAME}${VER}${OS390SIDEDECK} ${LIB}
endif
endif
clean:
@echo "Making clean in obj ..."
-rm -f $(ALL_OBJECTS) ${THISLIB}${VER}${SHLIBSUFFIX}
ifneq ($strip $(TEMPLATESREPOSITORY)),)
-rm -f $(TEMPLATESREPOSITORY)/*.o
-rm -f $(TEMPLATESREPOSITORY)/*.c
-rm -f $(TEMPLATESREPOSITORY)/*.cs
-rm -f $(TEMPLATESREPOSITORY)/*.he
endif
distclean: clean
rm -f Makefile
ifneq ($strip $(TEMPLATESREPOSITORY)),)
-rm -rf $(TEMPLATESREPOSITORY)
endif
install:
ifeq (${OS390BATCH},1)
@echo "Nothing to do for OS390BATCH ..."
else
-mkdir -p ${PREFIX}/lib
$(CP) ${THISLIB}${VER}${SHLIBSUFFIX} $(PREFIX)/lib
ifeq (${PLATFORM},OS390)
$(CP) ${LIBNAME}${VER}${OS390SIDEDECK} $(PREFIX)/lib
endif
endif