blob: 91141f1020c14877f207fbe63aaba03836c5cf52 [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
Michael Stahl2ee838d2013-03-01 00:54:25 +010014$(eval $(call gb_Module_add_moduledirs,libreoffice,\
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050015 accessibility \
Peter Foley902fdf42013-02-28 19:56:43 -050016 android \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050017 animations \
18 apple_remote \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050019 avmedia \
20 basctl \
21 basebmp \
David Tardon5e4eee12012-05-24 12:00:51 +020022 basegfx \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050023 basic \
24 bean \
David Tardonfa871912012-05-24 12:11:58 +020025 binaryurp \
David Tardonf60ee812012-07-29 11:59:35 +020026 bridges \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050027 canvas \
28 chart2 \
David Tardonf60ee812012-07-29 11:59:35 +020029 cli_ure \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050030 $(call gb_Helper_optional,DESKTOP,codemaker) \
31 comphelper \
32 configmgr \
Peter Foley8042b5212013-03-26 20:53:13 -040033 $(call gb_Helper_optional,DBCONNECTIVITY,connectivity) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050034 cppcanvas \
David Tardonf60ee812012-07-29 11:59:35 +020035 cppu \
36 cppuhelper \
David Tardonabcab9d2012-05-24 12:13:37 +020037 cpputools \
Peter Foleydbaa34c2013-01-22 16:07:24 -050038 $(call gb_Helper_optional,CRASHREP,crashrep) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050039 cui \
40 dbaccess \
41 desktop \
42 $(call gb_Helper_optional,DICTIONARIES,dictionaries) \
43 dtrans \
44 drawinglayer \
45 editeng \
46 embeddedobj \
David Tardone767cc772012-05-24 12:21:14 +020047 embedserv \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050048 eventattacher \
49 extensions \
Peter Foley61e7c592013-02-22 21:33:23 -050050 external \
David Tardon04e69632012-08-22 13:16:39 +020051 extras \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050052 filter \
Peter Foleyea360ff2013-03-26 11:02:06 -040053 $(call gb_Helper_optional,DBCONNECTIVITY,forms) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050054 formula \
55 fpicker \
56 framework \
57 $(call gb_Helper_optional,DESKTOP,helpcompiler) \
David Tardonca3a1ae2013-02-27 10:11:27 +010058 $(call gb_Helper_optional,HELP,helpcontent2) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050059 hwpfilter \
Eike Rathke876c6192013-04-05 18:40:39 +020060 i18nlangtag \
David Tardond2f23a22012-05-24 11:59:16 +020061 i18npool \
David Tardonee28c182012-05-24 12:08:45 +020062 i18nutil \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050063 idl \
64 $(call gb_Helper_optional,DESKTOP,idlc) \
Bjoern Michaelsen87c57d82013-02-26 17:42:05 +010065 instsetoo_native \
David Tardon3018f4f2012-05-24 12:12:43 +020066 io \
David Tardon87e0c602012-05-24 12:15:38 +020067 javaunohelper \
David Tardonf60ee812012-07-29 11:59:35 +020068 jurt \
69 jvmaccess \
70 jvmfwk \
Andras Timar74abeff2012-11-07 23:31:44 +010071 librelogo \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050072 lingucomponent \
73 linguistic \
74 lotuswordpro \
75 $(call gb_Helper_optional,DESKTOP,l10ntools) \
Rene Engelhardb6e4c0e2013-03-10 17:30:16 +010076 $(call gb_Helper_optional,MARIADBC,mysqlc) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050077 $(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
David Tardon5e4eee12012-05-24 12:00:51 +020078 o3tl \
Peter Foley613221b2013-02-21 00:56:13 -060079 $(call gb_Helper_optional,ODK,odk) \
David Tardonf60ee812012-07-29 11:59:35 +020080 offapi \
81 officecfg \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050082 oovbaapi \
83 oox \
84 package \
85 padmin \
Bjoern Michaelsenf6241442013-02-25 11:56:21 +010086 postprocess \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050087 psprint_config \
88 $(call gb_Helper_optional,PYUNO,pyuno) \
89 $(call gb_Helper_optional,QADEVOOO,qadevOOo) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050090 readlicense_oo \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050091 registry \
92 remotebridges \
93 reportbuilder \
Peter Foley10811502013-03-26 21:44:21 -040094 $(call gb_Helper_optional,DBCONNECTIVITY,reportdesign) \
David Tardonf60ee812012-07-29 11:59:35 +020095 ridljar \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050096 rsc \
Peter Foley42adaa02012-10-25 20:26:22 -040097 sal \
David Tardonf60ee812012-07-29 11:59:35 +020098 salhelper \
David Tardon0799823e2012-05-24 12:05:01 +020099 sax \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500100 sc \
101 scaddins \
102 sccomp \
103 $(call gb_Helper_optional,DESKTOP,scp2) \
104 scripting \
105 sd \
106 sdext \
Peter Foley42617572013-02-07 19:17:22 -0500107 $(call gb_Helper_optional,DESKTOP,setup_native) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500108 sfx2 \
109 shell \
110 slideshow \
111 smoketest \
Peter Foley2ba90232013-02-24 16:02:08 -0500112 solenv \
Peter Foley61e7c592013-02-22 21:33:23 -0500113 soltools \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500114 sot \
115 starmath \
David Tardonf60ee812012-07-29 11:59:35 +0200116 stoc \
117 store \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500118 svl \
119 svtools \
Michael Meeks44cfc7c2012-10-09 12:22:23 +0100120 svgio \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500121 svx \
122 sw \
123 swext \
Peter Foley01344a82013-02-10 18:22:07 -0500124 sysui \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500125 test \
126 testtools \
127 toolkit \
David Tardond7767f62012-05-24 11:56:50 +0200128 tools \
Tor Lillqvist92f23292012-06-05 16:35:49 +0300129 touch \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500130 tubes \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500131 ucb \
David Tardonf60ee812012-07-29 11:59:35 +0200132 ucbhelper \
David Tardonf60ee812012-07-29 11:59:35 +0200133 udkapi \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500134 UnoControls \
135 unodevtools \
David Tardon1d5c70b2012-05-24 12:17:24 +0200136 unoil \
Stephan Bergmann320571b2013-02-25 15:31:05 +0100137 unoidl \
David Tardon77fa4ee2012-05-24 12:02:36 +0200138 unotest \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500139 unotools \
140 unoxml \
David Tardon6b78dd32012-05-24 12:10:14 +0200141 ure \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500142 uui \
143 vbahelper \
144 vcl \
Michael Stahl076342c2013-11-19 13:38:58 +0100145 $(if $(ENABLE_IA2),winaccessibility) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500146 wizards \
147 writerfilter \
148 writerperfect \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500149 xmerge \
150 $(call gb_Helper_optional,DESKTOP,xmlhelp) \
151 xmloff \
David Tardonf60ee812012-07-29 11:59:35 +0200152 xmlreader \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500153 xmlscript \
154 xmlsecurity \
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -0500155))
156
Peter Foley0e5f2ea2013-04-10 19:02:44 -0400157ifneq ($(MERGELIBS),)
Michael Stahl2ee838d2013-03-01 00:54:25 +0100158$(eval $(call gb_Module_add_targets,libreoffice,\
Matúš Kukan75fac982011-08-24 12:17:31 +0100159 Library_merged \
Matúš Kukancefeae72013-04-16 12:58:47 +0200160 $(if $(URELIBS),Library_urelibs) \
Matúš Kukan75fac982011-08-24 12:17:31 +0100161))
162endif
163
Michael Stahl6d1cef52012-05-15 19:34:46 +0200164# Especially when building everything with symbols, the linking of the largest
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500165# libraries takes enormous amounts of RAM. To prevent annoying OOM situations
Michael Stahl6d1cef52012-05-15 19:34:46 +0200166# etc., try to prevent linking these in parallel by adding artificial build
167# order dependencies here.
Michael Stahl2ee838d2013-03-01 00:54:25 +0100168define repositorymodule_serialize1
Michael Stahl5905dfe2013-09-16 12:13:02 +0200169$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,$(1))) \
Michael Stahl6d1cef52012-05-15 19:34:46 +0200170 :| $(foreach lib,$(2),$(call gb_Library_get_target,$(lib)))
171endef
172
Michael Stahl2ee838d2013-03-01 00:54:25 +0100173define repositorymodule_serialize
Michael Stahl6d1cef52012-05-15 19:34:46 +0200174$(if $(filter-out 0 1,$(words $(1))),\
Michael Stahl2ee838d2013-03-01 00:54:25 +0100175$(call repositorymodule_serialize1,$(firstword $(1)),$(wordlist 2,$(words $(1)),$(1))))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200176$(if $(strip $(1)),\
Michael Stahl2ee838d2013-03-01 00:54:25 +0100177$(call repositorymodule_serialize,$(wordlist 2,$(words $(1)),$(1))))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200178endef
179
Michael Stahlc70e55c2013-05-31 23:09:20 +0200180# DO NOT SORT ALPHABETICALLY: the libraries must be listed in dependency order,
181# otherwise cyclic dependencies ruin everything.
Michael Stahlc4f7ed82013-05-31 23:02:33 +0200182# do not serialize on a partial build as that may fail due to missing deps.
183# the default goal is all (see Module.mk)
184ifeq (,$(filter-out all,$(MAKECMDGOALS)))
Michael Stahl2ee838d2013-03-01 00:54:25 +0100185$(eval $(call repositorymodule_serialize,\
Kohei Yoshida4ecf5032013-09-10 21:09:24 -0400186 scfilt scopencl \
Michael Stahlfcca05c2013-05-31 22:51:40 +0200187 $(if $(filter SCRIPTING,$(BUILD_TYPE)),vbaobj) \
188 sc msword swui sw sd \
189 $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),dbu) \
Michael Stahlc70e55c2013-05-31 23:09:20 +0200190 writerfilter cui chartcontroller chartcore oox svx \
Michael Stahlfcca05c2013-05-31 22:51:40 +0200191 $(if $(MERGELIBS),merged,svxcore) \
Michael Stahlc70e55c2013-05-31 23:09:20 +0200192 xo sfx fwk svt vcl \
Michael Meeks88880512012-07-11 09:54:22 +0100193))
Matúš Kukanf1835782012-08-09 10:35:24 +0200194endif
Michael Stahl6d1cef52012-05-15 19:34:46 +0200195
Tor Lillqvist35491072011-08-02 21:22:35 +0300196# vim: set noet sw=4 ts=4: