1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # Version: MPL 1.1 / GPLv3+ / LGPLv3+
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
15 # The Initial Developer of the Original Code is
16 # Norbert Thiebaud <nthiebaud@gmail.com> (C) 2011, All Rights Reserved.
18 # Alternatively, the contents of this file may be used under the terms of
19 # either the GNU General Public License Version 3 or later (the "GPLv3+"), or
20 # the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
21 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
22 # instead of those above.
25 $(eval
$(call gb_Module_Module
,tail_build
))
27 $(eval
$(call gb_Module_add_moduledirs
,tail_build
,\
29 $(call gb_Helper_optional
,AFMS
,afms
) \
31 $(call gb_Helper_optional
,APACHE_COMMONS
,apache-commons
) \
40 $(call gb_Helper_optional
,BOOST
,boost
) \
41 $(call gb_Helper_optional
,BSH
,beanshell
) \
43 $(call gb_Helper_optional
,BLUEZ
,bluez_bluetooth
) \
45 $(call gb_Helper_optional
,CAIRO
,cairo
) \
49 $(call gb_Helper_optional
,CLUCENE
,clucene
) \
50 $(call gb_Helper_optional
,DESKTOP
,codemaker
) \
59 $(call gb_Helper_optional
,CT2N
,ct2n
) \
61 $(call gb_Helper_optional
,CURL
,curl
) \
64 $(call gb_Helper_optional
,DICTIONARIES
,dictionaries
) \
70 $(call gb_Helper_optional
,EPM
,epm
) \
80 $(call gb_Helper_optional
,GRAPHITE
,graphite
) \
81 $(call gb_Helper_optional
,DESKTOP
,helpcompiler
) \
82 $(call gb_Helper_optional
,HSQLDB
,hsqldb
) \
83 $(call gb_Helper_optional
,HUNSPELL
,hunspell
) \
85 $(call gb_Helper_optional
,HYPHEN
,hyphen
) \
89 $(call gb_Helper_optional
,DESKTOP
,idlc
) \
92 $(call gb_Helper_optional
,JFREEREPORT
,jfreereport
) \
93 $(call gb_Helper_optional
,JPEG
,jpeg
) \
97 $(call gb_Helper_optional
,LANGUAGETOOL
,languagetool
) \
98 $(call gb_Helper_optional
,LCMS2
,lcms2
) \
101 $(call gb_Helper_optional
,LIBEXTTEXTCAT
,libexttextcat
) \
102 $(call gb_Helper_optional
,LIBLANGTAG
,liblangtag
) \
114 $(call gb_Helper_optional
,LPSOLVE
,lpsolve
) \
115 $(call gb_Helper_optional
,DESKTOP
,l10ntools
) \
119 $(call gb_Helper_optional
,MORE_FONTS
,more_fonts
) \
120 $(call gb_Helper_optional
,MYTHES
,mythes
) \
121 $(call gb_Helper_optional
,NEON
,neon
) \
122 $(call gb_Helper_optional
,NLPSOLVER
,nlpsolver
) \
129 $(call gb_Helper_optional
,OPENLDAP
,openldap
) \
132 $(call gb_Helper_optional
,POSTGRESQL
,postgresql
) \
134 $(call gb_Helper_optional
,PYUNO
,pyuno
) \
135 $(call gb_Helper_optional
,QADEVOOO
,qadevOOo
) \
141 $(call gb_Helper_optional
,RHINO
,rhino
) \
151 $(call gb_Helper_optional
,DESKTOP
,scp2
) \
171 $(call gb_Helper_optional
,TOMCAT
,tomcat
) \
179 $(call gb_Helper_optional
,UCPP
,ucpp
) \
197 $(call gb_Helper_optional
,X11_EXTENSIONS
,x11_extensions
) \
199 $(call gb_Helper_optional
,DESKTOP
,xmlhelp
) \
207 ifeq ($(MERGELIBS
),TRUE
)
208 $(eval
$(call gb_Module_add_targets
,tail_build
,\
213 # Especially when building everything with symbols, the linking of the largest
214 # libraries takes enormous amounts of RAM. To prevent annoying OOM situations
215 # etc., try to prevent linking these in parallel by adding artificial build
216 # order dependencies here.
217 define tailbuild_serialize1
218 $(call gb_LinkTarget_get_target
,$(call gb_Library_get_linktargetname
,$(1))) \
219 :|
$(foreach lib
,$(2),$(call gb_Library_get_target
,$(lib
)))
222 define tailbuild_serialize
223 $(if
$(filter-out 0 1,$(words $(1))),\
224 $(call tailbuild_serialize1
,$(firstword $(1)),$(wordlist
2,$(words $(1)),$(1))))
226 $(call tailbuild_serialize
,$(wordlist
2,$(words $(1)),$(1))))
229 ifeq (all,$(filter all,$(MAKECMDGOALS
)))
230 $(eval
$(call tailbuild_serialize
,\
232 $(if
$(filter SCRIPTING
,$(BUILD_TYPE
)),vbaobj
) \
233 sc msword swui sw sd \
234 $(if
$(filter DBCONNECTIVITY
,$(BUILD_TYPE
)),dbu
) \
235 writerfilter cui chartcontroller oox \
236 $(if
$(filter TRUE
,$(MERGELIBS
)),merged
,svxcore
) \
241 # vim: set noet sw=4 ts=4: