office-gobmx/solenv/gbuild/gbuild.mk

205 lines
4.5 KiB
Makefile
Raw Normal View History

2010-04-27 04:39:42 -05:00
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org 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 version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
# vars needed from the env/calling makefile
# CVER
# DEBUG
# GBUILDDIR
# INPATH
# JAVA_HOME
# JDKINCS
# LIBXML_CFLAGS
# OS
# PRODUCT
# SOLARINC
# SOLARLIB
# STLPORT_VER
# UPD
# GXX_INCLUDE_PATH (Linux)
# PTHREAD_CFLAGS (Linux)
# SYSTEM_ICU (Linux)
# SYSTEM_JPEG (Linux)
# SYSTEM_LIBXML (Linux)
# USE_SYSTEM_STL (Linux)
SHELL := /bin/sh
true := T
false :=
2010-11-12 05:43:33 -06:00
define NEWLINE
2010-04-27 04:39:42 -05:00
2010-11-12 05:43:33 -06:00
endef
define WHITESPACE
endef
COMMA :=,
include $(GBUILDDIR)/Output.mk
include $(GBUILDDIR)/BuildDirs.mk
2010-05-05 07:51:35 -05:00
ifneq ($(strip $(PRODUCT)$(product)),)
2010-04-27 04:39:42 -05:00
gb_PRODUCT := $(true)
else
ifneq ($(strip $(product)),)
gb_PRODUCT := $(true)
else
2010-04-27 04:39:42 -05:00
gb_PRODUCT := $(false)
endif
endif
2010-04-27 04:39:42 -05:00
ifneq ($(strip $(DEBUG)),)
gb_DEBUGLEVEL := 2
else
ifeq ($(gb_PRODUCT),$(true))
gb_DEBUGLEVEL := 0
else
gb_DEBUGLEVEL := 1
endif
endif
ifneq ($(strip $(ENABLE_PCH)),)
gb_ENABLE_PCH := $(true)
else
gb_ENABLE_PCH := $(false)
endif
# for clean, uninstall and setuplocal goals we switch of dependencies
ifneq ($(filter clean uninstall setuplocal,$(MAKECMDGOALS)),)
2010-04-27 04:39:42 -05:00
gb_FULLDEPS := $(false)
else
gb_FULLDEPS := $(true)
2010-04-27 04:39:42 -05:00
endif
2010-06-26 02:14:09 -05:00
include $(GBUILDDIR)/Helper.mk
2010-11-11 05:19:55 -06:00
2010-11-11 08:36:05 -06:00
$(eval $(call gb_Helper_init_registries))
$(eval $(call gb_Helper_add_repositories,$(gb_REPOS)))
$(eval $(call gb_Helper_collect_libtargets))
2010-04-27 04:39:42 -05:00
ifeq ($(OS),LINUX)
include $(GBUILDDIR)/platform/linux.mk
else
ifeq ($(OS),WNT)
include $(GBUILDDIR)/platform/windows.mk
else
ifeq ($(OS),SOLARIS)
2010-04-29 10:08:27 -05:00
include $(GBUILDDIR)/platform/solaris.mk
2010-04-27 04:39:42 -05:00
else
ifeq ($(OS),MACOSX)
include $(GBUILDDIR)/platform/macosx.mk
else
2010-11-13 18:21:34 -06:00
$(eval $(call gb_Output_error,Unsupported OS: $(OS)))
2010-04-27 04:39:42 -05:00
endif
endif
endif
endif
2010-04-27 04:39:42 -05:00
2010-11-11 05:19:55 -06:00
include $(foreach repo,$(gb_REPOS),$(repo)/RepositoryFixes.mk)
2010-11-11 08:36:05 -06:00
$(eval $(call gb_Helper_collect_knownlibs))
2010-04-27 04:39:42 -05:00
gb_GLOBALDEFS := \
-D__DMAKE \
-D_REENTRANT \
-D_USE_NAMESPACE=1 \
-DCUI \
-DENABLE_LAYOUT_EXPERIMENTAL=0 \
-DENABLE_LAYOUT=0 \
-DNEW_SOLAR \
-DOSL_DEBUG_LEVEL=$(gb_DEBUGLEVEL) \
-DSOLAR_JAVA \
-DSTLPORT_VERSION=$(STLPORT_VER) \
-DSUPD=$(UPD) \
-DVCL \
$(gb_OSDEFS) \
$(gb_COMPILERDEFS) \
$(gb_CPUDEFS) \
ifeq ($(gb_PRODUCT),$(true))
gb_GLOBALDEFS += \
-DPRODUCT \
-DPRODUCT_FULL \
else
gb_GLOBALDEFS += \
-DDBG_UTIL \
-D_STLP_DEBUG \
2010-05-05 07:51:35 -05:00
-D_DEBUG \
2010-04-27 04:39:42 -05:00
endif
ifeq ($(gb_DEBUGLEVEL),2)
gb_GLOBALDEFS += \
-DDEBUG \
else
gb_GLOBALDEFS += \
-DOPTIMIZE \
-DNDEBUG \
endif
gb_GLOBALDEFS := $(sort $(gb_GLOBALDEFS))
2010-06-26 02:14:09 -05:00
include $(GBUILDDIR)/TargetLocations.mk
2010-04-27 04:39:42 -05:00
# We are using a set of scopes that we might as well call classes.
# It is important to include them in the right order as that is
# -- at least in part -- defining precedence. This is not an issue in the
# WORKDIR as there are no nameing collisions there, but OUTDIR is a mess
# and precedence is important there. This is also platform dependant.
# For example:
# $(OUTDIR)/bin/% for executables collides
# with $(OUTDIR)/bin/%.res for resources on unix
# $(OUTDIR)/lib/%.lib collides
# on windows (static and dynamic libs)
# $(OUTDIR)/xml/% for packageparts collides
# with $(OUTDIR)/xml/component/%.component for components
# This is less of an issue with GNU Make versions > 3.82 which matches for
# shortest stem instead of first match. However, upon intoduction this version
# is not available everywhere by default.
include $(foreach class, \
ComponentTarget \
AllLangResTarget \
LinkTarget \
Library \
StaticLibrary \
Executable \
SdiTarget \
Package \
PrecompiledHeaders \
Module \
2010-04-27 04:39:42 -05:00
,$(GBUILDDIR)/$(class).mk)
# vim: set noet sw=4 ts=4: