blob: 0679096de9e85c44c754cee4ad8f8e2d06e0bf52 [file] [log] [blame]
Takeshi Abeb2bd33e2011-08-10 02:12:48 +09001# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -05002#
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -05003#
Michael Meeks62badf382013-04-19 21:10:42 +01004# This file is part of the LibreOffice project.
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -05005#
Michael Meeks62badf382013-04-19 21:10:42 +01006# 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/.
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -05009#
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -050010
11
Michael Stahl2ee838d2013-03-01 00:54:25 +010012$(eval $(call gb_Module_Module,libreoffice))
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -050013
Matúš Kukanb6be3d32014-12-15 13:49:08 +010014# 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.
17ifneq ($(MERGELIBS),)
18$(eval $(call gb_Module_add_targets,libreoffice,\
19 Library_merged \
Matúš Kukanb6be3d32014-12-15 13:49:08 +010020))
21endif
22
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +020023# WASM_CHART change
24ifneq ($(ENABLE_WASM_STRIP_CHART),TRUE)
25$(eval $(call gb_Module_add_moduledirs,libreoffice,\
26 chart2 \
27))
28endif
29
30# WASM_CANVAS change
31ifneq ($(ENABLE_WASM_STRIP_CANVAS),TRUE)
32$(eval $(call gb_Module_add_moduledirs,libreoffice,\
33 canvas \
34 cppcanvas \
35))
36endif
37
38ifneq ($(ENABLE_WASM_STRIP_DBACCESS),TRUE)
39$(eval $(call gb_Module_add_moduledirs,libreoffice,\
40 dbaccess \
41))
42endif
43
44ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
Michael Stahl2ee838d2013-03-01 00:54:25 +010045$(eval $(call gb_Module_add_moduledirs,libreoffice,\
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050046 accessibility \
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +020047 winaccessibility \
48))
49endif
50
51$(eval $(call gb_Module_add_moduledirs,libreoffice,\
Peter Foley902fdf42013-02-28 19:56:43 -050052 android \
Balazs Varga97ee1262022-08-08 10:49:20 +020053 $(if $(ENABLE_WASM_STRIP_BASIC_DRAW_MATH_IMPRESS),, \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050054 animations \
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +020055 ) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050056 apple_remote \
Jan-Marek Glogowskif9e79a92021-05-18 01:11:41 +020057 avmedia \
Balazs Varga97ee1262022-08-08 10:49:20 +020058 $(if $(ENABLE_WASM_STRIP_CALC),, \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050059 basctl \
Balazs Varga97ee1262022-08-08 10:49:20 +020060 ) \
David Tardon5e4eee12012-05-24 12:00:51 +020061 basegfx \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050062 basic \
63 bean \
David Tardonfa871912012-05-24 12:11:58 +020064 binaryurp \
David Tardonf60ee812012-07-29 11:59:35 +020065 bridges \
David Tardonf60ee812012-07-29 11:59:35 +020066 cli_ure \
Jan-Marek Glogowskidc9ccf32021-05-21 15:41:15 +020067 codemaker \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050068 comphelper \
69 configmgr \
Caolán McNamara9d7315d2016-12-19 11:54:37 +000070 connectivity \
David Tardonf60ee812012-07-29 11:59:35 +020071 cppu \
72 cppuhelper \
David Tardonabcab9d2012-05-24 12:13:37 +020073 cpputools \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050074 cui \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050075 desktop \
76 $(call gb_Helper_optional,DICTIONARIES,dictionaries) \
Tomaž Vajngerlbd0f5262022-12-28 09:43:46 +090077 docmodel\
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050078 drawinglayer \
79 editeng \
80 embeddedobj \
David Tardone767cc772012-05-24 12:21:14 +020081 embedserv \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050082 eventattacher \
83 extensions \
Peter Foley61e7c592013-02-22 21:33:23 -050084 external \
Jan-Marek Glogowski1fc85d02019-12-06 14:46:44 +010085 extras \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050086 filter \
Tor Lillqvist739a5bc2014-04-28 17:29:27 +030087 $(call gb_Helper_optional,DBCONNECTIVITY,forms) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050088 formula \
Tor Lillqvist21e2f5b2014-05-07 13:52:47 +030089 $(call gb_Helper_optional,DESKTOP,fpicker) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050090 framework \
Jan-Marek Glogowski14069d82021-05-24 14:12:18 +020091 $(call gb_Helper_optionals_or,HELPTOOLS XMLHELP,helpcompiler) \
David Tardonca3a1ae2013-02-27 10:11:27 +010092 $(call gb_Helper_optional,HELP,helpcontent2) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050093 hwpfilter \
Eike Rathke876c6192013-04-05 18:40:39 +020094 i18nlangtag \
David Tardond2f23a22012-05-24 11:59:16 +020095 i18npool \
David Tardonee28c182012-05-24 12:08:45 +020096 i18nutil \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050097 idl \
Bjoern Michaelsen87c57d82013-02-26 17:42:05 +010098 instsetoo_native \
David Tardon3018f4f2012-05-24 12:12:43 +020099 io \
David Tardon87e0c602012-05-24 12:15:38 +0200100 javaunohelper \
David Tardonf60ee812012-07-29 11:59:35 +0200101 jurt \
102 jvmaccess \
103 jvmfwk \
Michael Stahlc18d3f82021-01-18 20:14:54 +0100104 $(call gb_Helper_optional,LIBRELOGO,librelogo) \
Andrzej Hunt9a1b2972014-06-09 11:33:25 +0100105 libreofficekit \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500106 lingucomponent \
107 linguistic \
108 lotuswordpro \
109 $(call gb_Helper_optional,DESKTOP,l10ntools) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500110 $(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
David Tardon5e4eee12012-05-24 12:00:51 +0200111 o3tl \
Peter Foley613221b2013-02-21 00:56:13 -0600112 $(call gb_Helper_optional,ODK,odk) \
David Tardonf60ee812012-07-29 11:59:35 +0200113 offapi \
114 officecfg \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500115 oovbaapi \
116 oox \
Tor Lillqvistc1d09b12014-11-26 22:30:33 +0200117 $(call gb_Helper_optional,OPENCL,opencl) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500118 package \
Luboš Luňák08d02b52019-09-22 12:13:42 +0200119 pch \
Bjoern Michaelsenf6241442013-02-25 11:56:21 +0100120 postprocess \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500121 $(call gb_Helper_optional,PYUNO,pyuno) \
122 $(call gb_Helper_optional,QADEVOOO,qadevOOo) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500123 readlicense_oo \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500124 registry \
125 remotebridges \
126 reportbuilder \
Peter Foley10811502013-03-26 21:44:21 -0400127 $(call gb_Helper_optional,DBCONNECTIVITY,reportdesign) \
David Tardonf60ee812012-07-29 11:59:35 +0200128 ridljar \
Peter Foley42adaa02012-10-25 20:26:22 -0400129 sal \
David Tardonf60ee812012-07-29 11:59:35 +0200130 salhelper \
David Tardon0799823e2012-05-24 12:05:01 +0200131 sax \
Balazs Varga97ee1262022-08-08 10:49:20 +0200132 $(if $(ENABLE_WASM_STRIP_CALC),, \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500133 sc \
134 scaddins \
135 sccomp \
Balazs Varga97ee1262022-08-08 10:49:20 +0200136 ) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500137 $(call gb_Helper_optional,DESKTOP,scp2) \
138 scripting \
Balazs Varga97ee1262022-08-08 10:49:20 +0200139 $(if $(ENABLE_WASM_STRIP_BASIC_DRAW_MATH_IMPRESS),, \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500140 sd \
141 sdext \
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +0200142 ) \
Peter Foley42617572013-02-07 19:17:22 -0500143 $(call gb_Helper_optional,DESKTOP,setup_native) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500144 sfx2 \
145 shell \
Balazs Varga97ee1262022-08-08 10:49:20 +0200146 $(if $(ENABLE_WASM_STRIP_BASIC_DRAW_MATH_IMPRESS),, \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500147 slideshow \
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +0200148 ) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500149 smoketest \
Peter Foley2ba90232013-02-24 16:02:08 -0500150 solenv \
Peter Foley61e7c592013-02-22 21:33:23 -0500151 soltools \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500152 sot \
Balazs Varga97ee1262022-08-08 10:49:20 +0200153 $(if $(ENABLE_WASM_STRIP_BASIC_DRAW_MATH_IMPRESS),, \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500154 starmath \
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +0200155 ) \
Jan-Marek Glogowskidc9ccf32021-05-21 15:41:15 +0200156 $(if $(ENABLE_CUSTOMTARGET_COMPONENTS),static) \
David Tardonf60ee812012-07-29 11:59:35 +0200157 stoc \
158 store \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500159 svl \
160 svtools \
Michael Meeks44cfc7c2012-10-09 12:22:23 +0100161 svgio \
Armin Le Grand83535a22017-06-09 19:55:17 +0200162 emfio \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500163 svx \
Balazs Varga97ee1262022-08-08 10:49:20 +0200164 $(if $(ENABLE_WASM_STRIP_WRITER),, \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500165 sw \
166 swext \
Balazs Varga97ee1262022-08-08 10:49:20 +0200167 ) \
Peter Foley01344a82013-02-10 18:22:07 -0500168 sysui \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500169 test \
170 testtools \
171 toolkit \
David Tardond7767f62012-05-24 11:56:50 +0200172 tools \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500173 ucb \
David Tardonf60ee812012-07-29 11:59:35 +0200174 ucbhelper \
David Tardonf60ee812012-07-29 11:59:35 +0200175 udkapi \
Markus Mohrhard3ead72d2016-05-09 10:05:14 +0200176 $(call gb_Helper_optional,PYUNO,uitest) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500177 UnoControls \
178 unodevtools \
David Tardon1d5c70b2012-05-24 12:17:24 +0200179 unoil \
Stephan Bergmann320571b2013-02-25 15:31:05 +0100180 unoidl \
David Tardon77fa4ee2012-05-24 12:02:36 +0200181 unotest \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500182 unotools \
183 unoxml \
David Tardon6b78dd32012-05-24 12:10:14 +0200184 ure \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500185 uui \
186 vbahelper \
187 vcl \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500188 wizards \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500189 writerperfect \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500190 xmerge \
Jan-Marek Glogowski14069d82021-05-24 14:12:18 +0200191 $(call gb_Helper_optional,XMLHELP,xmlhelp) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500192 xmloff \
David Tardonf60ee812012-07-29 11:59:35 +0200193 xmlreader \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500194 xmlscript \
195 xmlsecurity \
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -0500196))
197
Jan-Marek Glogowskidc9ccf32021-05-21 15:41:15 +0200198ifeq (,$(DISABLE_DYNLOADING))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200199# Especially when building everything with symbols, the linking of the largest
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500200# libraries takes enormous amounts of RAM. To prevent annoying OOM situations
Michael Stahl6d1cef52012-05-15 19:34:46 +0200201# etc., try to prevent linking these in parallel by adding artificial build
202# order dependencies here.
Luboš Luňákc74b7da2022-04-21 11:48:10 +0200203# Do this only if a linker is not explicitly set, as this should only apply
204# to the BFD linker and any decently modern linker presumably performs better.
205ifeq (,$(USE_LD))
Michael Stahl2ee838d2013-03-01 00:54:25 +0100206define repositorymodule_serialize1
Jan-Marek Glogowskic859b4a2021-12-31 09:11:10 +0100207$(call gb_Library_get_linktarget_target,$(1)) :| $(foreach lib,$(2),$(call gb_Library_get_target,$(lib)))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200208endef
Luboš Luňákc74b7da2022-04-21 11:48:10 +0200209else
210define repositorymodule_serialize1
211endef
212endif
Michael Stahl6d1cef52012-05-15 19:34:46 +0200213
Michael Stahl2ee838d2013-03-01 00:54:25 +0100214define repositorymodule_serialize
Michael Stahl6d1cef52012-05-15 19:34:46 +0200215$(if $(filter-out 0 1,$(words $(1))),\
Michael Stahl2ee838d2013-03-01 00:54:25 +0100216$(call repositorymodule_serialize1,$(firstword $(1)),$(wordlist 2,$(words $(1)),$(1))))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200217$(if $(strip $(1)),\
Michael Stahl2ee838d2013-03-01 00:54:25 +0100218$(call repositorymodule_serialize,$(wordlist 2,$(words $(1)),$(1))))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200219endef
220
Michael Stahlc70e55c2013-05-31 23:09:20 +0200221# DO NOT SORT ALPHABETICALLY: the libraries must be listed in dependency order,
222# otherwise cyclic dependencies ruin everything.
Michael Stahlc4f7ed82013-05-31 23:02:33 +0200223# do not serialize on a partial build as that may fail due to missing deps.
Luboš Luňák4aa7dec2020-03-27 10:44:14 +0100224# the default goal is build (see Module.mk)
Thorsten Behrens23118ce2022-09-11 12:21:22 +0200225ifeq (,$(filter-out build check unitcheck slowcheck screenshot subsequentcheck uicheck coverage,$(MAKECMDGOALS)))
Michael Stahl2ee838d2013-03-01 00:54:25 +0100226$(eval $(call repositorymodule_serialize,\
Peter Foley2d8514572014-09-11 18:05:01 -0400227 scfilt \
Tor Lillqvist7f564cc2014-02-19 16:08:26 +0200228 $(call gb_Helper_optional,SCRIPTING,vbaobj) \
Tor Lillqvist32e53702014-02-19 15:49:55 +0200229 sc msword \
230 $(call gb_Helper_optional,DESKTOP,swui) \
Noel Grandinfc5108a2024-03-05 15:00:00 +0200231 sw \
Noel Grandinbacb9222024-03-05 13:58:37 +0200232 $(if $(MERGELIBS_MORE),, \
Noel Grandinfc5108a2024-03-05 15:00:00 +0200233 sd \
Noel Grandinbacb9222024-03-05 13:58:37 +0200234 $(call gb_Helper_optional,DBCONNECTIVITY,dbu) \
Noel Grandin828c1992024-04-10 16:50:51 +0100235 cui) \
Matúš Kukan7b32c5f2015-01-31 18:57:13 +0100236 $(if $(MERGELIBS), merged, \
Noel Grandinbacb9222024-03-05 13:58:37 +0200237 chartcontroller chartcore oox svx svxcore xo sfx fwk svt vcl) \
Michael Meeks88880512012-07-11 09:54:22 +0100238))
Matúš Kukanf1835782012-08-09 10:35:24 +0200239endif
Jan-Marek Glogowskidc9ccf32021-05-21 15:41:15 +0200240endif # !$(DISABLE_DYNLOADING)
Michael Stahl6d1cef52012-05-15 19:34:46 +0200241
Tor Lillqvist35491072011-08-02 21:22:35 +0300242# vim: set noet sw=4 ts=4: