office-gobmx/stlport/makefile.mk
Rüdiger Timm 601dbde698 INTEGRATION: CWS macleopardbuild (1.40.8); FILE MERGED
2007/11/11 22:59:11 fheckl 1.40.8.2: fixing quotation error
2007/10/15 21:39:38 fheckl 1.40.8.1: Fixing Leopard build
2007-11-12 14:31:01 +00:00

258 lines
8.2 KiB
Makefile

#*************************************************************************
#
# OpenOffice.org - a multi-platform office productivity suite
#
# $RCSfile: makefile.mk,v $
#
# $Revision: 1.41 $
#
# last change: $Author: rt $ $Date: 2007-11-12 15:31:01 $
#
# The Contents of this file are made available subject to
# the terms of GNU Lesser General Public License Version 2.1.
#
#
# GNU Lesser General Public License Version 2.1
# =============================================
# Copyright 2005 by Sun Microsystems, Inc.
# 901 San Antonio Road, Palo Alto, CA 94303, USA
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License version 2.1, as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
#
#*************************************************************************
PRJ=.
PRJNAME=so_stlport
TARGET=so_stlport
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
.IF "$(USE_SYSTEM_STL)"=="YES"
$(INCCOM)$/stlport$/hash_map : systemstl/hash_map
@echo "You choose to build without stlport, so some headers will be used to bring the sgi extensions into the std namespace"
-$(MKDIR) $(INCCOM)$/stlport
$(COPY) systemstl/functional $(INCCOM)$/stlport
$(COPY) systemstl/hash_map $(INCCOM)$/stlport
$(COPY) systemstl/hash_set $(INCCOM)$/stlport
$(COPY) systemstl/numeric $(INCCOM)$/stlport
$(COPY) systemstl/slist $(INCCOM)$/stlport
$(COPY) systemstl/rope $(INCCOM)$/stlport
$(COPY) systemstl/vector $(INCCOM)$/stlport
.ENDIF
# --- Files --------------------------------------------------------
.EXPORT : CC CXX
.IF "$(COMID)"=="gcc3"
TARFILE_NAME=STLport-4.5
.IF "$(OS)"=="MACOSX" && "$(BUILD_OS_MINOR)">"2"
PATCH_FILE_NAME=STLport-4.5-macxp-panther.patch
.ELSE
PATCH_FILE_NAME=STLport-4.5.patch
.ENDIF
.ELSE # "$(COMID)"=="gcc3"
.IF "$(OS)"=="MACOSX"
TARFILE_NAME=STLport-4.0
PATCH_FILE_NAME=STLport-4.0.macosx.patch
.ELSE
.IF "$(GUI)"=="WNT"
.IF "$(CCNUMVER)"<="001300000000"
TARFILE_NAME=STLport-4.0
PATCH_FILE_NAME=STLport-4.0.patch
.ELSE # "$(CCNUMVER)"<="001300000000"
TARFILE_NAME=STLport-4.5-0119
PATCH_FILE_NAME=STLport-4.5-0119.patch
.ENDIF # "$(CCNUMVER)"<="001300000000"
.ELSE
TARFILE_NAME=STLport-4.0
# To disable warnings from within STLport headers on unxsoli4 and
# unxsols4, STLport-4.0.patch had to be extended mechanically by
#
# cd unxsol.../misc/build/STLport-4.0/stlport && \
# find . -type f -exec sed -i \
# -e 's/^\([ \t]*__STL_BEGIN_NAMESPACE[ \t]*\)$/#if defined \
# __SUNPRO_CC\n#pragma disable_warn\n#endif\n&/' \
# -e 's/^\([ \t]*__STL_END_NAMESPACE[ \t]*\)$/&\n#if defined \
# __SUNPRO_CC\n#pragma enable_warn\n#endif/' {} \;
#
# (causing lots of files to become modified) and by additionally
# changing unxsol.../misc/build/STLport-4.0/stlport/math.h,
# unxsol.../misc/build/STLport-4.0/stlport/stl/_config.h,
# unxsol.../misc/build/STLport-4.0/stlport/stl/_list.h, and
# unxsol.../misc/build/STLport-4.0/stlport/stl/type_traits.h manually.
# (Obviously due to the way the C++ compiler generates code for
# instantiations of inline function templates from STLport headers, it
# does not work to simply add "#pragma disable_warn" to stl/_prolog.h
# and "#pragma enable_warn" to stl/_epilog.h, as seemingly some internal
# STLport headers are read in by the compiler only at the end of a
# compilation unit, outside the scope of stl/_prolog.h and
# stl/_epilog.h.)
PATCH_FILE_NAME=STLport-4.0.patch
.ENDIF
.ENDIF # "$(OS)"=="MACOSX"
.ENDIF # "$(COMID)"=="gcc3"
.IF "$(USE_SHELL)"=="4nt"
TAR_EXCLUDES=*/SC5/*
.ENDIF # "$(USE_SHELL)"=="4nt"
ADDITIONAL_FILES=src$/gcc-3.0.mak src$/gcc-3.0-macosx.mak src$/gcc-3.0-freebsd.mak src$/sunpro8.mak src$/sunpro11.mak src$/gcc-3.0-mingw.mak
CONFIGURE_ACTION=none
CONFIGURE_FLAGS=
BUILD_DIR=src
.IF "$(COM)"=="MSC"
BUILD_ACTION=nmake
.IF "$(CCNUMVER)"<="001400000000"
BUILD_FLAGS=-f vc7.mak EXFLAGS="/EHsc"
.ELSE # "$(CCNUMVER)"<="001400000000"
BUILD_FLAGS=-f vc7.mak EXFLAGS="/EHa /Zc:wchar_t-" CCNUMVER=$(CCNUMVER)
.ENDIF # "$(CCNUMVER)"<="001400000000"
.ENDIF
.IF "$(COM)"=="GCC"
.IF "$(COMID)"=="gcc3"
# FreeBSD needs a special makefile
.IF "$(OS)"=="FREEBSD"
BUILD_FLAGS=-f gcc-3.0-freebsd.mak
.ELIF "$(OS)"=="MACOSX"
BUILD_FLAGS=-f gcc-3.0-macosx.mak
.ELIF "$(GUI)"=="WNT"
BUILD_FLAGS=-f gcc-3.0-mingw.mak
.ELSE
BUILD_FLAGS=-f gcc-3.0.mak
.ENDIF
.ELSE # "$(COMID)"=="gcc3"
# MacOS X/Darwin need a special makefile
.IF "$(OS)"=="MACOSX"
BUILD_FLAGS=-f gcc-apple-macosx.mak
.ELIF "$(OS)"=="FREEBSD"
BUILD_FLAGS=-f gcc-freebsd.mak
.ELSE # "$(OS)"=="MACOSX"
BUILD_FLAGS=-f gcc.mak
.ENDIF # "$(OS)"=="MACOSX"
.ENDIF # "$(COMID)"=="gcc3"
BUILD_ACTION=$(GNUMAKE)
# build in parallel
BUILD_FLAGS+= -j$(MAXPROCESS)
.ENDIF
.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
CXX+= -Wl,--hash-style=both
.ENDIF
.IF "$(COM)"=="C52"
BUILD_ACTION=make
.IF "$(CCNUMVER)">="00050008"
BUILD_FLAGS=-f sunpro11.mak
.ELIF "$(CCNUMVER)">="00050005"
BUILD_FLAGS=-f sunpro8.mak
.ELSE
BUILD_FLAGS=-f sunpro6.mak
.ENDIF # "$(CCNUMVER)">="00050008"
OUT2INC= \
stlport$/SC5$/*.SUNWCCh
.ENDIF
.IF "$(OS)"=="IRIX"
TARFILE_NAME=STLport-4.5
PATCH_FILE_NAME=STLport-4.5.patch
BUILD_ACTION=gmake
BUILD_FLAGS=-f gcc-3.0.mak
BUILD_FLAGS+= -j$(MAXPROCESS)
.ENDIF
OUTDIR2INC= \
stlport
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
OUT2LIB= \
lib$/lib*_static.a
OUT2BIN= \
lib$/*.dll
.ELSE
OUT2LIB= \
lib$/*.lib
OUT2BIN= \
lib$/*.dll \
lib$/*.pdb
.ENDIF # "$(COM)"=="GCC"
.ELSE # "$(GUI)"=="WNT"
OUT2LIB= \
lib$/lib*
.ENDIF # "$(GUI)"=="WNT"
# --- Targets ------------------------------------------------------
.IF "$(STLPORT4)"!="NO_STLPORT4"
all :
@echo " An already available installation of STLport has been chosen in the configure process."
@echo " Therefore the version provided here does not need to be built in addition."
.ENDIF
.INCLUDE : set_ext.mk
.INCLUDE : target.mk
.INCLUDE : tg_ext.mk
.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(CCNUMVER)"<="001300000000"
$(MISC)$/$(TARFILE_ROOTDIR) : avoid_win32_patches
avoid_win32_patches :
@$(ECHONL)
@echo ERROR! this module can't use automated patch creation
@echo on windows.
@$(ECHONL)
force_dmake_to_error
$(PACKAGE_DIR)$/so_custom_patch : $(PACKAGE_DIR)$/$(PATCH_FLAG_FILE)
.IF "$(USE_SHELL)"=="4nt"
win32_custom.bat $(PACKAGE_DIR) $(BACK_PATH) && $(TOUCH) $@
.ELSE # "$(USE_SHELL)"=="4nt"
win32_custom.sh $(PACKAGE_DIR) $(BACK_PATH) && $(TOUCH) $@
.ENDIF # "$(USE_SHELL)"=="4nt"
$(PACKAGE_DIR)$/$(CONFIGURE_FLAG_FILE) : $(PACKAGE_DIR)$/so_custom_patch
.IF "$(USE_NEW_SDK)"!=""
$(PACKAGE_DIR)$/win32_sdk_patch : $(PACKAGE_DIR)$/$(PATCH_FLAG_FILE)
.IF "$(USE_SHELL)"=="4nt"
win32_sdk.bat $(PACKAGE_DIR) $(BACK_PATH) && $(TOUCH) $@
.ELSE # "$(USE_SHELL)"=="4nt"
win32_sdk.sh $(PACKAGE_DIR) $(BACK_PATH) && $(TOUCH) $@
.ENDIF # "$(USE_SHELL)"=="4nt"
$(PACKAGE_DIR)$/$(CONFIGURE_FLAG_FILE) : $(PACKAGE_DIR)$/win32_sdk_patch
.ENDIF # "$(USE_NEW_SDK)"!=""
.ENDIF # COMVER<=001300000000
.ENDIF "$(COM)"=="GCC"
.ENDIF # "$(GUI)"=="WNT"