Version 5.4.0.0.beta2, tag libreoffice-5.4.0.0.beta2
[LibreOffice.git] / RepositoryModule_host.mk
blob51feb0b9125fa2f9413e9d0a1103c5c03ad06c7d
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 # This makefile needs to be read first because some variables like T_LIBS
15 # for libmerged are cleared there and then later we append stuff to it
16 # through e.g. gb_Library_use_external for various libraries in libmerged.
17 ifneq ($(MERGELIBS),)
18 $(eval $(call gb_Module_add_targets,libreoffice,\
19 Library_merged \
21 endif
23 $(eval $(call gb_Module_add_moduledirs,libreoffice,\
24 accessibility \
25 android \
26 animations \
27 apple_remote \
28 $(call gb_Helper_optional,AVMEDIA,avmedia) \
29 basctl \
30 basegfx \
31 basic \
32 bean \
33 binaryurp \
34 bridges \
35 canvas \
36 chart2 \
37 cli_ure \
38 $(call gb_Helper_optional,DESKTOP,codemaker) \
39 comphelper \
40 configmgr \
41 connectivity \
42 cppcanvas \
43 cppu \
44 cppuhelper \
45 cpputools \
46 cui \
47 $(call gb_Helper_optional,DBCONNECTIVITY,dbaccess) \
48 desktop \
49 $(call gb_Helper_optional,DICTIONARIES,dictionaries) \
50 dtrans \
51 drawinglayer \
52 editeng \
53 embeddedobj \
54 embedserv \
55 eventattacher \
56 extensions \
57 external \
58 extras \
59 filter \
60 $(call gb_Helper_optional,DBCONNECTIVITY,forms) \
61 formula \
62 $(call gb_Helper_optional,DESKTOP,fpicker) \
63 framework \
64 $(call gb_Helper_optional,DESKTOP,helpcompiler) \
65 $(call gb_Helper_optional,HELP,helpcontent2) \
66 hwpfilter \
67 i18nlangtag \
68 i18npool \
69 i18nutil \
70 idl \
71 $(call gb_Helper_optional,DESKTOP,idlc) \
72 instsetoo_native \
73 io \
74 javaunohelper \
75 jurt \
76 jvmaccess \
77 jvmfwk \
78 librelogo \
79 libreofficekit \
80 lingucomponent \
81 linguistic \
82 lotuswordpro \
83 $(call gb_Helper_optional,DESKTOP,l10ntools) \
84 $(call gb_Helper_optional,MARIADBC,mysqlc) \
85 $(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
86 o3tl \
87 $(call gb_Helper_optional,ODK,odk) \
88 offapi \
89 officecfg \
90 onlineupdate \
91 oovbaapi \
92 oox \
93 $(call gb_Helper_optional,OPENCL,opencl) \
94 package \
95 postprocess \
96 $(call gb_Helper_optional,PYUNO,pyuno) \
97 $(call gb_Helper_optional,QADEVOOO,qadevOOo) \
98 readlicense_oo \
99 registry \
100 remotebridges \
101 reportbuilder \
102 $(call gb_Helper_optional,DBCONNECTIVITY,reportdesign) \
103 ridljar \
104 rsc \
105 sal \
106 salhelper \
107 sax \
108 sc \
109 scaddins \
110 sccomp \
111 $(call gb_Helper_optional,DESKTOP,scp2) \
112 scripting \
113 sd \
114 sdext \
115 $(call gb_Helper_optional,DESKTOP,setup_native) \
116 sfx2 \
117 shell \
118 slideshow \
119 smoketest \
120 solenv \
121 soltools \
122 sot \
123 starmath \
124 stoc \
125 store \
126 svl \
127 svtools \
128 svgio \
129 svx \
130 sw \
131 swext \
132 sysui \
133 test \
134 testtools \
135 toolkit \
136 tools \
137 ucb \
138 ucbhelper \
139 udkapi \
140 $(call gb_Helper_optional,PYUNO,uitest) \
141 UnoControls \
142 unodevtools \
143 unoil \
144 unoidl \
145 unotest \
146 unotools \
147 unoxml \
148 ure \
149 uui \
150 vbahelper \
151 vcl \
152 winaccessibility \
153 wizards \
154 writerfilter \
155 writerperfect \
156 xmerge \
157 $(call gb_Helper_optional,DESKTOP,xmlhelp) \
158 xmloff \
159 xmlreader \
160 xmlscript \
161 xmlsecurity \
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)))
171 endef
173 define repositorymodule_serialize
174 $(if $(filter-out 0 1,$(words $(1))),\
175 $(call repositorymodule_serialize1,$(firstword $(1)),$(wordlist 2,$(words $(1)),$(1))))
176 $(if $(strip $(1)),\
177 $(call repositorymodule_serialize,$(wordlist 2,$(words $(1)),$(1))))
178 endef
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 build check unitcheck slowcheck screenshot subsequentcheck uicheck,$(MAKECMDGOALS)))
185 $(eval $(call repositorymodule_serialize,\
186 scfilt \
187 $(call gb_Helper_optional,SCRIPTING,vbaobj) \
188 sc msword \
189 $(call gb_Helper_optional,DESKTOP,swui) \
190 sw sd \
191 $(call gb_Helper_optional,DBCONNECTIVITY,dbu) \
192 writerfilter cui chartcontroller chartcore oox \
193 $(if $(MERGELIBS), merged, \
194 svx svxcore xo sfx fwk svt vcl) \
196 endif
198 # vim: set noet sw=4 ts=4: