blob: 424c60aaf27d7d14bc90d7a2e6996bc2d914ce50 [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.1 1999/11/09 01:04:40 twl
# Initial revision
#
# Revision 1.4 1999/11/08 20:45:09 rahul
# Swat for adding in Product name and CVS comment log variable.
#
#
PLATFORM = @platform@
COMPILER = @compiler@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
LDFLAGS = @ldflags@
LIBS = @libs@
OSVER = @osver@
USELIBWWW = @uselibwww@
MESSAGELOADER = @messageloader@
TRANSCODER = @transcoder@
MODULE = util
ifeq (${TRANSCODER},ICU)
TRANSCODERMODULE=ICU
else
TRANSCODERMODULE=Iconv
endif
ifeq (${MESSAGELOADER},ICU)
MESSAGELOADERMODULE=ICU
else
ifeq (${MESSAGELOADER},ICONV)
MESSAGELOADERMODULE=MsgCatalog
else
MESSAGELOADERMODULE=InMemory
endif
endif
include ../Makefile.incl
UTIL_CPP_PUBHEADERS = \
ArrayIndexOutOfBoundsException.hpp \
AutoSense.hpp \
BinFileInputStream.hpp \
BinInputStream.hpp \
BinMemInputStream.hpp \
BitOps.hpp \
BitSet.hpp \
CountedPointer.hpp \
EmptyStackException.hpp \
FlagJanitor.hpp \
IOException.hpp \
IllegalArgumentException.hpp \
InvalidCastException.hpp \
Janitor.hpp \
KVStringPair.hpp \
KeyValuePair.hpp \
Mutexes.hpp \
NameIdPool.hpp \
NoDefTranscoderException.hpp \
NoSuchElementException.hpp \
NullPointerException.hpp \
PlatformUtils.hpp \
RefArrayOf.hpp \
RefHashTableOf.hpp \
RefStackOf.hpp \
RefVectorOf.hpp \
RuntimeException.hpp \
StdOut.hpp \
StringPool.hpp \
TextOutputStream.hpp \
TransService.hpp \
TranscodingException.hpp \
URL.hpp \
UTFDataFormatException.hpp \
UnexpectedEOFException.hpp \
UnsupportedEncodingException.hpp \
ValueArrayOf.hpp \
ValueStackOf.hpp \
ValueVectorOf.hpp \
XML4CDefs.hpp \
XMLEnumerator.hpp \
XMLExceptMsgs.hpp \
XMLException.hpp \
XMLMsgLoader.hpp \
XMLString.hpp \
XMLUni.hpp
UTIL_CPP_PRIVHEADERS =
C_FILES = \
CountedPointer.c \
FlagJanitor.c \
Janitor.c \
KeyValuePair.c \
NameIdPool.c \
RefArrayOf.c \
RefHashTableOf.c \
RefStackOf.c \
RefVectorOf.c \
ValueArrayOf.c \
ValueStackOf.c \
ValueVectorOf.c
UTIL_CPP_OBJECTS = \
BinFileInputStream.o \
BinInputStream.o \
BinMemInputStream.o \
BitSet.o \
HeaderDummy.o \
KVStringPair.o \
Mutexes.o \
PlatformUtils.o \
StdOut.o \
StringPool.o \
TextOutputStream.o \
URL.o \
XMLException.o \
XMLString.o \
XMLUni.o
all: includes $(UTIL_CPP_OBJECTS) platforms transcoders messageloaders compilers publish
includes: pubheaders $(C_FILES)
cd Platforms ; $(MAKE) $@ ; cd ..
cd Transcoders/$(TRANSCODERMODULE) ; $(MAKE) $@ ; cd ../..
cd MsgLoaders/$(MESSAGELOADERMODULE) ; $(MAKE) $@ ; cd ../..
cd Compilers ; $(MAKE) $@ ; cd ..
platforms:
cd Platforms ; $(MAKE) ; cd ..
transcoders:
cd Transcoders/$(TRANSCODERMODULE) ; $(MAKE) ; cd ../..
messageloaders:
cd MsgLoaders/$(MESSAGELOADERMODULE) ; $(MAKE) ; cd ../..
compilers:
cd Compilers ; $(MAKE) ; cd ..
pubheaders:
-mkdir -p $(XML_INC_DIR)/$(MODULE)
$(CP) $(UTIL_CPP_PUBHEADERS) $(C_FILES) $(XML_INC_DIR)/$(MODULE)
publish:
-mkdir -p ${ALL_OBJECTS_DIR}
$(CP) $(UTIL_CPP_OBJECTS) $(ALL_OBJECTS_DIR)
# this may generate unnecessary dependencies, but it makes life easier
depend: includes
$(MAKE_DEPEND) $(XML_INCL) *.cpp > $(DEPFILE)
clean:
@echo "Making clean in $(MODULE) ..."
$(RM) $(UTIL_CPP_OBJECTS)
cd Platforms ; $(MAKE) $@ ; cd ..
cd Transcoders/$(TRANSCODERMODULE) ; $(MAKE) $@ ; cd ../..
cd MsgLoaders/$(MESSAGELOADERMODULE) ; $(MAKE) $@ ; cd ../..
cd Compilers ; $(MAKE) $@ ; cd ..
distclean: clean
$(RM) Makefile $(DEPFILE)
@echo "Removing all $(MODULE) header files ..."
@for file in $(UTIL_CPP_PUBHEADERS); do \
rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
done
@for file in $(C_FILES); do \
rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
done
@echo "Removing all $(MODULE) object files ..."
@for file in $(UTIL_CPP_OBJECTS); do \
rm -f $(ALL_OBJECTS_DIR)/$$file; \
done
cd Platforms ; $(MAKE) $@ ; cd ..
cd Transcoders/$(TRANSCODERMODULE) ; $(MAKE) $@ ; cd ../..
cd MsgLoaders/$(MESSAGELOADERMODULE) ; $(MAKE) $@ ; cd ../..
cd Compilers ; $(MAKE) $@ ; cd ..
install:
-mkdir -p $(PREFIX)/$(MODULE)
$(CP) $(UTIL_CPP_PUBHEADERS) $(C_FILES) $(PREFIX)/$(MODULE)
cd Platforms ; $(MAKE) $@ ; cd ..
cd Transcoders/$(TRANSCODERMODULE) ; $(MAKE) $@ ; cd ../..
cd MsgLoaders/$(MESSAGELOADERMODULE) ; $(MAKE) $@ ; cd ../..
cd Compilers ; $(MAKE) $@ ; cd ..