Version 6.4.0.3, tag libreoffice-6.4.0.3
[LibreOffice.git] / RepositoryModule_host.mk
blob80992dfed7e2391f017eacd170c12eb6e1677488
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 # These have to be included before the others for more_fonts dependencies
15 $(eval $(call gb_Module_add_moduledirs,libreoffice,\
16 $(call gb_Helper_optional,MORE_FONTS,external/more_fonts) \
17 extras \
21 # This makefile needs to be read first because some variables like T_LIBS
22 # for libmerged are cleared there and then later we append stuff to it
23 # through e.g. gb_Library_use_external for various libraries in libmerged.
24 ifneq ($(MERGELIBS),)
25 $(eval $(call gb_Module_add_targets,libreoffice,\
26 Library_merged \
28 endif
30 $(eval $(call gb_Module_add_moduledirs,libreoffice,\
31 accessibility \
32 android \
33 animations \
34 apple_remote \
35 $(call gb_Helper_optional,AVMEDIA,avmedia) \
36 basctl \
37 basegfx \
38 basic \
39 bean \
40 binaryurp \
41 bridges \
42 canvas \
43 chart2 \
44 cli_ure \
45 $(call gb_Helper_optional,DESKTOP,codemaker) \
46 comphelper \
47 configmgr \
48 connectivity \
49 cppcanvas \
50 cppu \
51 cppuhelper \
52 cpputools \
53 cui \
54 $(call gb_Helper_optional,DBCONNECTIVITY,dbaccess) \
55 desktop \
56 $(call gb_Helper_optional,DICTIONARIES,dictionaries) \
57 dtrans \
58 drawinglayer \
59 editeng \
60 embeddedobj \
61 embedserv \
62 eventattacher \
63 extensions \
64 external \
65 filter \
66 $(call gb_Helper_optional,DBCONNECTIVITY,forms) \
67 formula \
68 $(call gb_Helper_optional,DESKTOP,fpicker) \
69 framework \
70 $(call gb_Helper_optional,DESKTOP,helpcompiler) \
71 $(call gb_Helper_optional,HELP,helpcontent2) \
72 hwpfilter \
73 i18nlangtag \
74 i18npool \
75 i18nutil \
76 idl \
77 $(call gb_Helper_optional,DESKTOP,idlc) \
78 instsetoo_native \
79 io \
80 javaunohelper \
81 jurt \
82 jvmaccess \
83 jvmfwk \
84 librelogo \
85 libreofficekit \
86 lingucomponent \
87 linguistic \
88 lotuswordpro \
89 $(call gb_Helper_optional,DESKTOP,l10ntools) \
90 $(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
91 o3tl \
92 $(call gb_Helper_optional,ODK,odk) \
93 offapi \
94 officecfg \
95 onlineupdate \
96 oovbaapi \
97 oox \
98 $(call gb_Helper_optional,OPENCL,opencl) \
99 package \
100 pch \
101 postprocess \
102 $(call gb_Helper_optional,PYUNO,pyuno) \
103 $(call gb_Helper_optional,QADEVOOO,qadevOOo) \
104 readlicense_oo \
105 registry \
106 remotebridges \
107 reportbuilder \
108 $(call gb_Helper_optional,DBCONNECTIVITY,reportdesign) \
109 ridljar \
110 sal \
111 salhelper \
112 sax \
113 sc \
114 scaddins \
115 sccomp \
116 $(call gb_Helper_optional,DESKTOP,scp2) \
117 scripting \
118 sd \
119 sdext \
120 $(call gb_Helper_optional,DESKTOP,setup_native) \
121 sfx2 \
122 shell \
123 slideshow \
124 smoketest \
125 solenv \
126 soltools \
127 sot \
128 starmath \
129 stoc \
130 store \
131 svl \
132 svtools \
133 svgio \
134 emfio \
135 svx \
136 sw \
137 swext \
138 sysui \
139 test \
140 testtools \
141 toolkit \
142 tools \
143 ucb \
144 ucbhelper \
145 udkapi \
146 $(call gb_Helper_optional,PYUNO,uitest) \
147 UnoControls \
148 unodevtools \
149 unoil \
150 unoidl \
151 unotest \
152 unotools \
153 unoxml \
154 ure \
155 uui \
156 vbahelper \
157 vcl \
158 winaccessibility \
159 wizards \
160 writerfilter \
161 writerperfect \
162 xmerge \
163 $(call gb_Helper_optional,DESKTOP,xmlhelp) \
164 xmloff \
165 xmlreader \
166 xmlscript \
167 xmlsecurity \
170 # Especially when building everything with symbols, the linking of the largest
171 # libraries takes enormous amounts of RAM. To prevent annoying OOM situations
172 # etc., try to prevent linking these in parallel by adding artificial build
173 # order dependencies here.
174 define repositorymodule_serialize1
175 $(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,$(1))) \
176 :| $(foreach lib,$(2),$(call gb_Library_get_target,$(lib)))
177 endef
179 define repositorymodule_serialize
180 $(if $(filter-out 0 1,$(words $(1))),\
181 $(call repositorymodule_serialize1,$(firstword $(1)),$(wordlist 2,$(words $(1)),$(1))))
182 $(if $(strip $(1)),\
183 $(call repositorymodule_serialize,$(wordlist 2,$(words $(1)),$(1))))
184 endef
186 # DO NOT SORT ALPHABETICALLY: the libraries must be listed in dependency order,
187 # otherwise cyclic dependencies ruin everything.
188 # do not serialize on a partial build as that may fail due to missing deps.
189 # the default goal is all (see Module.mk)
190 ifeq (,$(filter-out all build check unitcheck slowcheck screenshot subsequentcheck uicheck,$(MAKECMDGOALS)))
191 $(eval $(call repositorymodule_serialize,\
192 scfilt \
193 $(call gb_Helper_optional,SCRIPTING,vbaobj) \
194 sc msword \
195 $(call gb_Helper_optional,DESKTOP,swui) \
196 sw sd \
197 $(call gb_Helper_optional,DBCONNECTIVITY,dbu) \
198 writerfilter cui chartcontroller chartcore oox \
199 $(if $(MERGELIBS), merged, \
200 svx svxcore xo sfx fwk svt vcl) \
202 endif
204 # vim: set noet sw=4 ts=4: