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