1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
4 # This file is part of the LibreOffice project.
6 # This Source Code Form is subject to the terms of the Mozilla Public
7 # License, v. 2.0. If a copy of the MPL was not distributed with this
8 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 $(eval
$(call gb_Module_Module
,libreoffice
))
14 $(eval
$(call gb_Module_add_moduledirs
,libreoffice
,\
30 $(call gb_Helper_optional
,DESKTOP
,codemaker
) \
33 $(call gb_Helper_optional
,DBCONNECTIVITY
,connectivity
) \
38 $(call gb_Helper_optional
,CRASHREP
,crashrep
) \
42 $(call gb_Helper_optional
,DICTIONARIES
,dictionaries
) \
53 $(call gb_Helper_optional
,DBCONNECTIVITY
,forms
) \
57 $(call gb_Helper_optional
,DESKTOP
,helpcompiler
) \
58 $(call gb_Helper_optional
,HELP
,helpcontent2
) \
64 $(call gb_Helper_optional
,DESKTOP
,idlc
) \
75 $(call gb_Helper_optional
,DESKTOP
,l10ntools
) \
76 $(call gb_Helper_optional
,MARIADBC
,mysqlc
) \
77 $(call gb_Helper_optional
,NLPSOLVER
,nlpsolver
) \
79 $(call gb_Helper_optional
,ODK
,odk
) \
88 $(call gb_Helper_optional
,PYUNO
,pyuno
) \
89 $(call gb_Helper_optional
,QADEVOOO
,qadevOOo
) \
94 $(call gb_Helper_optional
,DBCONNECTIVITY
,reportdesign
) \
103 $(call gb_Helper_optional
,DESKTOP
,scp2
) \
107 $(call gb_Helper_optional
,DESKTOP
,setup_native
) \
145 $(if
$(ENABLE_IA2
),winaccessibility
) \
150 $(call gb_Helper_optional
,DESKTOP
,xmlhelp
) \
157 ifneq ($(MERGELIBS
),)
158 $(eval
$(call gb_Module_add_targets
,libreoffice
,\
160 $(if
$(URELIBS
),Library_urelibs
) \
164 # Especially when building everything with symbols, the linking of the largest
165 # libraries takes enormous amounts of RAM. To prevent annoying OOM situations
166 # etc., try to prevent linking these in parallel by adding artificial build
167 # order dependencies here.
168 define repositorymodule_serialize1
169 $(call gb_LinkTarget_get_target
,$(call gb_Library_get_linktarget
,$(1))) \
170 :|
$(foreach lib
,$(2),$(call gb_Library_get_target
,$(lib
)))
173 define repositorymodule_serialize
174 $(if
$(filter-out 0 1,$(words $(1))),\
175 $(call repositorymodule_serialize1
,$(firstword $(1)),$(wordlist
2,$(words $(1)),$(1))))
177 $(call repositorymodule_serialize
,$(wordlist
2,$(words $(1)),$(1))))
180 # DO NOT SORT ALPHABETICALLY: the libraries must be listed in dependency order,
181 # otherwise cyclic dependencies ruin everything.
182 # do not serialize on a partial build as that may fail due to missing deps.
183 # the default goal is all (see Module.mk)
184 ifeq (,$(filter-out all,$(MAKECMDGOALS
)))
185 $(eval
$(call repositorymodule_serialize
,\
187 $(if
$(filter SCRIPTING
,$(BUILD_TYPE
)),vbaobj
) \
188 sc msword swui sw sd \
189 $(if
$(filter DBCONNECTIVITY
,$(BUILD_TYPE
)),dbu
) \
190 writerfilter cui chartcontroller chartcore oox svx \
191 $(if
$(MERGELIBS
),merged
,svxcore
) \
196 # vim: set noet sw=4 ts=4: