blob: f6a9c6ec5c0f6a34c61c1a9a46212521f29a0b5a [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úš Kukanbcf1df42014-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 \
20 $(if $(URELIBS),Library_urelibs) \
21))
22endif
23
Michael Stahl2ee838d2013-03-01 00:54:25 +010024$(eval $(call gb_Module_add_moduledirs,libreoffice,\
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050025 accessibility \
Peter Foley902fdf42013-02-28 19:56:43 -050026 android \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050027 animations \
28 apple_remote \
Tor Lillqvist262aa2c2014-04-17 22:09:44 +030029 $(call gb_Helper_optional,AVMEDIA,avmedia) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050030 basctl \
31 basebmp \
David Tardon5e4eee12012-05-24 12:00:51 +020032 basegfx \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050033 basic \
34 bean \
David Tardonfa871912012-05-24 12:11:58 +020035 binaryurp \
David Tardonf60ee812012-07-29 11:59:35 +020036 bridges \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050037 canvas \
38 chart2 \
Tor Lillqviste22526a2014-12-08 09:29:28 +020039 $(call gb_Helper_optional,OPENCL,clew) \
David Tardonf60ee812012-07-29 11:59:35 +020040 cli_ure \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050041 $(call gb_Helper_optional,DESKTOP,codemaker) \
42 comphelper \
43 configmgr \
Peter Foley8042b5212013-03-26 20:53:13 -040044 $(call gb_Helper_optional,DBCONNECTIVITY,connectivity) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050045 cppcanvas \
David Tardonf60ee812012-07-29 11:59:35 +020046 cppu \
47 cppuhelper \
David Tardonabcab9d2012-05-24 12:13:37 +020048 cpputools \
Peter Foleydbaa34c2013-01-22 16:07:24 -050049 $(call gb_Helper_optional,CRASHREP,crashrep) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050050 cui \
Tor Lillqvist629cc602014-04-17 23:51:04 +030051 $(call gb_Helper_optional,DBCONNECTIVITY,dbaccess) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050052 desktop \
53 $(call gb_Helper_optional,DICTIONARIES,dictionaries) \
54 dtrans \
55 drawinglayer \
56 editeng \
57 embeddedobj \
David Tardone767cc772012-05-24 12:21:14 +020058 embedserv \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050059 eventattacher \
60 extensions \
Peter Foley61e7c592013-02-22 21:33:23 -050061 external \
David Tardon04e69632012-08-22 13:16:39 +020062 extras \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050063 filter \
Tor Lillqvist739a5bc2014-04-28 17:29:27 +030064 $(call gb_Helper_optional,DBCONNECTIVITY,forms) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050065 formula \
Tor Lillqvist21e2f5b2014-05-07 13:52:47 +030066 $(call gb_Helper_optional,DESKTOP,fpicker) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050067 framework \
68 $(call gb_Helper_optional,DESKTOP,helpcompiler) \
David Tardonca3a1ae2013-02-27 10:11:27 +010069 $(call gb_Helper_optional,HELP,helpcontent2) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050070 hwpfilter \
Eike Rathke876c6192013-04-05 18:40:39 +020071 i18nlangtag \
David Tardond2f23a22012-05-24 11:59:16 +020072 i18npool \
David Tardonee28c182012-05-24 12:08:45 +020073 i18nutil \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050074 idl \
75 $(call gb_Helper_optional,DESKTOP,idlc) \
Bjoern Michaelsen87c57d82013-02-26 17:42:05 +010076 instsetoo_native \
David Tardon3018f4f2012-05-24 12:12:43 +020077 io \
David Tardon87e0c602012-05-24 12:15:38 +020078 javaunohelper \
David Tardonf60ee812012-07-29 11:59:35 +020079 jurt \
80 jvmaccess \
81 jvmfwk \
Andras Timar74abeff2012-11-07 23:31:44 +010082 librelogo \
Andrzej Hunt9a1b2972014-06-09 11:33:25 +010083 libreofficekit \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050084 lingucomponent \
85 linguistic \
86 lotuswordpro \
87 $(call gb_Helper_optional,DESKTOP,l10ntools) \
Rene Engelhardb6e4c0e2013-03-10 17:30:16 +010088 $(call gb_Helper_optional,MARIADBC,mysqlc) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050089 $(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
David Tardon5e4eee12012-05-24 12:00:51 +020090 o3tl \
Peter Foley613221b2013-02-21 00:56:13 -060091 $(call gb_Helper_optional,ODK,odk) \
David Tardonf60ee812012-07-29 11:59:35 +020092 offapi \
93 officecfg \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050094 oovbaapi \
95 oox \
Tor Lillqvist7920af42014-11-26 22:30:33 +020096 $(call gb_Helper_optional,OPENCL,opencl) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050097 package \
Bjoern Michaelsenf6241442013-02-25 11:56:21 +010098 postprocess \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050099 $(call gb_Helper_optional,PYUNO,pyuno) \
100 $(call gb_Helper_optional,QADEVOOO,qadevOOo) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500101 readlicense_oo \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500102 registry \
103 remotebridges \
104 reportbuilder \
Peter Foley10811502013-03-26 21:44:21 -0400105 $(call gb_Helper_optional,DBCONNECTIVITY,reportdesign) \
David Tardonf60ee812012-07-29 11:59:35 +0200106 ridljar \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500107 rsc \
Peter Foley42adaa02012-10-25 20:26:22 -0400108 sal \
David Tardonf60ee812012-07-29 11:59:35 +0200109 salhelper \
David Tardon0799823e2012-05-24 12:05:01 +0200110 sax \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500111 sc \
112 scaddins \
113 sccomp \
114 $(call gb_Helper_optional,DESKTOP,scp2) \
115 scripting \
116 sd \
117 sdext \
Peter Foley42617572013-02-07 19:17:22 -0500118 $(call gb_Helper_optional,DESKTOP,setup_native) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500119 sfx2 \
120 shell \
121 slideshow \
122 smoketest \
Peter Foley2ba90232013-02-24 16:02:08 -0500123 solenv \
Peter Foley61e7c592013-02-22 21:33:23 -0500124 soltools \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500125 sot \
126 starmath \
David Tardonf60ee812012-07-29 11:59:35 +0200127 stoc \
128 store \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500129 svl \
130 svtools \
Michael Meeks44cfc7c2012-10-09 12:22:23 +0100131 svgio \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500132 svx \
133 sw \
134 swext \
Peter Foley01344a82013-02-10 18:22:07 -0500135 sysui \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500136 test \
137 testtools \
138 toolkit \
David Tardond7767f62012-05-24 11:56:50 +0200139 tools \
Tor Lillqvist92f23292012-06-05 16:35:49 +0300140 touch \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500141 tubes \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500142 ucb \
David Tardonf60ee812012-07-29 11:59:35 +0200143 ucbhelper \
David Tardonf60ee812012-07-29 11:59:35 +0200144 udkapi \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500145 UnoControls \
146 unodevtools \
David Tardon1d5c70b2012-05-24 12:17:24 +0200147 unoil \
Stephan Bergmann320571b2013-02-25 15:31:05 +0100148 unoidl \
David Tardon77fa4ee2012-05-24 12:02:36 +0200149 unotest \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500150 unotools \
151 unoxml \
David Tardon6b78dd32012-05-24 12:10:14 +0200152 ure \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500153 uui \
154 vbahelper \
155 vcl \
David Ostrovsky130833f2013-11-26 15:05:51 +0100156 winaccessibility \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500157 wizards \
158 writerfilter \
159 writerperfect \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500160 xmerge \
161 $(call gb_Helper_optional,DESKTOP,xmlhelp) \
162 xmloff \
David Tardonf60ee812012-07-29 11:59:35 +0200163 xmlreader \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500164 xmlscript \
165 xmlsecurity \
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -0500166))
167
Michael Stahl6d1cef52012-05-15 19:34:46 +0200168# Especially when building everything with symbols, the linking of the largest
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500169# libraries takes enormous amounts of RAM. To prevent annoying OOM situations
Michael Stahl6d1cef52012-05-15 19:34:46 +0200170# etc., try to prevent linking these in parallel by adding artificial build
171# order dependencies here.
Michael Stahl2ee838d2013-03-01 00:54:25 +0100172define repositorymodule_serialize1
Michael Stahl5905dfe2013-09-16 12:13:02 +0200173$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,$(1))) \
Michael Stahl6d1cef52012-05-15 19:34:46 +0200174 :| $(foreach lib,$(2),$(call gb_Library_get_target,$(lib)))
175endef
176
Michael Stahl2ee838d2013-03-01 00:54:25 +0100177define repositorymodule_serialize
Michael Stahl6d1cef52012-05-15 19:34:46 +0200178$(if $(filter-out 0 1,$(words $(1))),\
Michael Stahl2ee838d2013-03-01 00:54:25 +0100179$(call repositorymodule_serialize1,$(firstword $(1)),$(wordlist 2,$(words $(1)),$(1))))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200180$(if $(strip $(1)),\
Michael Stahl2ee838d2013-03-01 00:54:25 +0100181$(call repositorymodule_serialize,$(wordlist 2,$(words $(1)),$(1))))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200182endef
183
Michael Stahlc70e55c2013-05-31 23:09:20 +0200184# DO NOT SORT ALPHABETICALLY: the libraries must be listed in dependency order,
185# otherwise cyclic dependencies ruin everything.
Michael Stahlc4f7ed82013-05-31 23:02:33 +0200186# do not serialize on a partial build as that may fail due to missing deps.
187# the default goal is all (see Module.mk)
Michael Stahle2bc4c02014-08-26 13:17:44 +0200188ifeq (,$(filter-out all build check unitcheck slowcheck subsequentcheck,$(MAKECMDGOALS)))
Michael Stahl2ee838d2013-03-01 00:54:25 +0100189$(eval $(call repositorymodule_serialize,\
Peter Foley2d8514572014-09-11 18:05:01 -0400190 scfilt \
Tor Lillqvist7f564cc2014-02-19 16:08:26 +0200191 $(call gb_Helper_optional,SCRIPTING,vbaobj) \
Tor Lillqvist32e53702014-02-19 15:49:55 +0200192 sc msword \
193 $(call gb_Helper_optional,DESKTOP,swui) \
194 sw sd \
Tor Lillqvist7f564cc2014-02-19 16:08:26 +0200195 $(call gb_Helper_optional,DBCONNECTIVITY,dbu) \
Michael Stahlc70e55c2013-05-31 23:09:20 +0200196 writerfilter cui chartcontroller chartcore oox svx \
Michael Stahlfcca05c2013-05-31 22:51:40 +0200197 $(if $(MERGELIBS),merged,svxcore) \
Michael Stahlc70e55c2013-05-31 23:09:20 +0200198 xo sfx fwk svt vcl \
Michael Meeks88880512012-07-11 09:54:22 +0100199))
Matúš Kukanf1835782012-08-09 10:35:24 +0200200endif
Michael Stahl6d1cef52012-05-15 19:34:46 +0200201
Tor Lillqvist35491072011-08-02 21:22:35 +0300202# vim: set noet sw=4 ts=4: