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