blob: dcce7d357d13ec84a9ff0255a56d4a4eb4505d13 [file] [log] [blame]
#
# The Apache Software License, Version 1.1
#
# Copyright (c) 1999-2004 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 "Xalan", "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/>.
#
# Output directory
OUTDIR := ../../..
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
include $(XALANCROOT)/version.incl
include ../../../Makefile.incl
## ----------------------------------------------------------------------------
XSL_NLS_SRC_DIR=$(XALANCROOT)/src/xalanc/NLS
MSGFILENAME=XalanMsg_
CATALOG_NAME=$(MSGFILENAME)$(LOCALE)
XLIFF_FILE_NAME=$(XSL_NLS_SRC_DIR)/$(LOCALE)/$(MSGFILENAME)$(LOCALE).xlf
MOVE= mv
COPY=cp
INCLUDE_DIR = $(XALANCROOT)/src/xalanc/Include
.PHONY: locale doClean prepare install doCommonInstall doCommonPrepare
##=================== End of Common for all localization systems area =====
## ----------------------------------------------------------------------------
ifeq ($(MESSAGELOADER),INMEM)
locale: $(MESSAGELIB)
$(MESSAGELIB): $(XALANMSGLIB_SRC)/LocalMsgData.hpp
$(MAKE) -C XalanMsgLib
$(XALANMSGLIB_SRC)/LocalMsgData.hpp : $(XSL_BIN_DIR)/MsgCreator $(XLIFF_FILE_NAME)
$(XSL_BIN_DIR)/MsgCreator $(XLIFF_FILE_NAME) -TYPE $(MESSAGELOADER) -LOCALE $(LOCALE)
@$(MOVE) LocalMsgIndex.hpp $(XSL_NLS_DIR)/include
@$(MOVE) LocalMsgData.hpp $(XSL_NLS_DIR)/include
install: doCommonInstall
$(MAKE) -C XalanMsgLib $@
prepare: doCommonPrepare
endif # end of ($(MESSAGELOADER),INMEM))
## ----------------------------------------------------------------------------
ifeq ($(MESSAGELOADER),ICU)
##=============================== Specific for ICU variables ================================
GENRB = $(ICUROOT)/bin/genrb
PKGDATA = $(ICUROOT)/bin/pkgdata
##=============================== End of Specific for ICU variables ================================
locale: $(XSL_NLS_DIR)/icu/$(LOCALE).txt $(MESSAGELIB)
$(MESSAGELIB) : $(XSL_NLS_DIR)/icu/$(LOCALE).txt
$(GENRB) -p $(LOC_PROJECT_NAME) -d $(XSL_NLS_DIR)/icu -i $(XSL_NLS_DIR)/icu $(XSL_NLS_DIR)/icu/$(LOCALE).txt
echo $(XSL_NLS_DIR)/icu/$(LOC_PROJECT_NAME)_$(LOCALE).res > $(XSL_NLS_DIR)/icu/res-file-list.txt
$(PKGDATA) --name $(LOC_PROJECT_NAME) -T $(XSL_NLS_DIR)/icu -v -O $(ICUROOT)/lib/icu/Makefile.inc --mode dll -d $(XSL_LIB_DIR) $(XSL_NLS_DIR)/icu/res-file-list.txt -M "prefix=$(ICUROOT) TARGET=$(LOC_LIB)"
$(LN) -fs $(LOC_LIB) $(XSL_LIB_DIR)/$(LOC_LIBNAME)$(SHLIBSUFFIX)
ifeq ($(PLATFORM), AIX)
$(LN) -fs $(LOC_LIB) $(XSL_LIB_DIR)/$(LOC_LIBNAME)$(LIB_MAJOR_VER)$(SHLIBSUFFIX)
else
$(LN) -fs $(LOC_LIB) $(XSL_LIB_DIR)/$(LOC_LIBNAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER)
endif ## AIX
$(XSL_NLS_DIR)/icu/$(LOCALE).txt : $(XLIFF_FILE_NAME) $(XSL_BIN_DIR)/MsgCreator
$(XSL_BIN_DIR)/MsgCreator $(XLIFF_FILE_NAME) -TYPE $(MESSAGELOADER) -LOCALE $(LOCALE)
$(MOVE) LocalMsgIndex.hpp $(XSL_NLS_DIR)/include
$(MOVE) $(LOCALE).txt $(XSL_NLS_DIR)/icu
prepare: doCommonPrepare
-${MKDIR} -p $(XSL_NLS_DIR)/icu
install: doCommonInstall
$(MKINSTALLDIRS) $(DESTDIR)/$(libdir)
$(INSTALL_PROGRAM) $(XSL_LIB_DIR)/$(LOC_LIB) $(DESTDIR)/$(libdir)
ifneq ($(PLATFORM), OS390)
$(LN) -fs $(LOC_LIB) $(DESTDIR)/$(libdir)/$(LOC_LIBNAME)$(SHLIBSUFFIX)
ifeq ($(PLATFORM), AIX)
$(LN) -fs $(LOC_LIB) $(DESTDIR)/$(libdir)/$(LOC_LIBNAME)$(LIB_MAJOR_VER)$(SHLIBSUFFIX)
else
$(LN) -fs $(LOC_LIB) $(DESTDIR)/$(libdir)/$(LOC_LIBNAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER)
endif ## AIX
endif ## OS390
endif # end of ($(MESSAGELOADER),ICU)
##=============================== NLS SYSTEM =====================================================
ifeq ($(MESSAGELOADER),NLS)
locale: $(XSL_NLS_DIR)/$(LOCALE)/$(CATALOG_NAME).cat
$(XSL_NLS_DIR)/$(LOCALE)/$(CATALOG_NAME).cat : $(XLIFF_FILE_NAME) $(XSL_BIN_DIR)/MsgCreator
$(XSL_BIN_DIR)/MsgCreator $(XLIFF_FILE_NAME) -TYPE $(MESSAGELOADER) -LOCALE $(LOCALE)
$(MOVE) LocalMsgIndex.hpp $(XSL_NLS_DIR)/include
$(MOVE) $(CATALOG_NAME).msg $(XSL_NLS_DIR)/nls
-rm -f $(CATALOG_NAME).cat
gencat $(CATALOG_NAME).cat $(XSL_NLS_DIR)/nls/$(CATALOG_NAME).msg
$(MOVE) $(CATALOG_NAME).cat $(XSL_NLS_DIR)/nls
install: doCommonInstall
$(MKINSTALLDIRS) $(DESTDIR)/$(libdir)
$(MKINSTALLDIRS) $(DESTDIR)/$(libdir)/nls
$(MKINSTALLDIRS) $(DESTDIR)/$(libdir)/nls/msg
$(MKINSTALLDIRS) $(DESTDIR)/$(libdir)/nls/msg/$(LOCALE)
$(COPY) $(XSL_NLS_DIR)/nls/$(CATALOG_NAME).cat $(DESTDIR)/$(libdir)/nls/msg/$(LOCALE)
prepare: doCommonPrepare
-${MKDIR} -p $(XSL_NLS_DIR)/nls
endif
##=============================== END OF NLS SYSTEM ==================================================
##=================== Common for all localization systems area ============
$(XSL_BIN_DIR)/MsgCreator:
$(MAKE) -C MsgCreator
doCommonPrepare:
-${MKDIR} -p $(XSL_NLS_DIR)
-${MKDIR} -p $(XSL_NLS_DIR)/include
doCommonInstall:
$(INSTALL_PROGRAM) $(XSL_NLS_DIR)/include/LocalMsgIndex.hpp $(XALANCROOT)/src/xalanc/PlatformSupport
doClean:
$(MAKE) -C XalanMsgLib $@
$(MAKE) -C MsgCreator $@
rm -f $(XSL_NLS_DIR)/nls/*
rm -f $(XSL_NLS_DIR)/icu/*
rm -f $(XSL_LIB_DIR)/$(LOC_LIBNAME)*
rm -f $(XSL_NLS_DIR)/include/LocalMsgData.hpp
rm -f $(XSL_NLS_DIR)/include/LocalMsgIndex.hpp
rm -f $(MESSAGELIB)