blob: b9e64f2aea906cb280f6674100ccf66f0934df0a [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 \
16 $(call gb_Helper_optional,AFMS,afms) \
Peter Foley902fdf42013-02-28 19:56:43 -050017 android \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050018 animations \
Norbert Thiebaud4df639b2012-09-29 02:34:58 -050019 $(call gb_Helper_optional,APACHE_COMMONS,apache-commons) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050020 apple_remote \
David Tardonbcd0b2a2012-08-02 17:57:23 +020021 autodoc \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050022 avmedia \
23 basctl \
24 basebmp \
David Tardon5e4eee12012-05-24 12:00:51 +020025 basegfx \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050026 basic \
27 bean \
Peter Foley0d909e72012-11-09 18:47:06 -050028 $(call gb_Helper_optional,BOOST,boost) \
David Ostrovsky02e40082012-10-02 09:31:35 +020029 $(call gb_Helper_optional,BSH,beanshell) \
David Tardonfa871912012-05-24 12:11:58 +020030 binaryurp \
David Tardonf60ee812012-07-29 11:59:35 +020031 bridges \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +010032 $(call gb_Helper_optional,CAIRO,cairo) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050033 canvas \
34 chart2 \
David Tardonf60ee812012-07-29 11:59:35 +020035 cli_ure \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050036 $(call gb_Helper_optional,CLUCENE,clucene) \
37 $(call gb_Helper_optional,DESKTOP,codemaker) \
38 comphelper \
39 configmgr \
Peter Foley8042b5212013-03-26 20:53:13 -040040 $(call gb_Helper_optional,DBCONNECTIVITY,connectivity) \
David Tardonbcd0b2a2012-08-02 17:57:23 +020041 cosv \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050042 cppcanvas \
David Tardonf60ee812012-07-29 11:59:35 +020043 cppu \
44 cppuhelper \
Peter Foley143835b2012-11-25 16:37:40 -050045 $(call gb_Helper_optional,CPPUNIT,cppunit) \
David Tardonabcab9d2012-05-24 12:13:37 +020046 cpputools \
Peter Foleydbaa34c2013-01-22 16:07:24 -050047 $(call gb_Helper_optional,CRASHREP,crashrep) \
Peter Foley4dc53ab2012-10-23 16:55:04 -040048 $(call gb_Helper_optional,CT2N,ct2n) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050049 cui \
Peter Foley0f075122012-10-29 10:50:32 -040050 $(call gb_Helper_optional,CURL,curl) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050051 dbaccess \
52 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 \
Matúš Kukan51fca812012-10-28 12:01:09 +010059 $(call gb_Helper_optional,EPM,epm) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050060 eventattacher \
Peter Foley61e7c592013-02-22 21:33:23 -050061 $(call gb_Helper_optional,EXPAT,expat) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050062 extensions \
Peter Foley61e7c592013-02-22 21:33:23 -050063 external \
David Tardon04e69632012-08-22 13:16:39 +020064 extras \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050065 fileaccess \
66 filter \
Peter Foley120553e2012-12-31 16:35:34 -050067 $(call gb_Helper_optional,FONTCONFIG,fontconfig) \
Peter Foleyea360ff2013-03-26 11:02:06 -040068 $(call gb_Helper_optional,DBCONNECTIVITY,forms) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050069 formula \
70 fpicker \
71 framework \
Peter Foley120553e2012-12-31 16:35:34 -050072 $(call gb_Helper_optional,FREETYPE,freetype) \
Matúš Kukan1ceb47d2012-10-25 09:55:13 +020073 $(call gb_Helper_optional,GRAPHITE,graphite) \
Khaled Hosny7e389f42013-04-20 13:00:56 +020074 $(call gb_Helper_optional,HARFBUZZ,harfbuzz) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050075 $(call gb_Helper_optional,DESKTOP,helpcompiler) \
David Tardonca3a1ae2013-02-27 10:11:27 +010076 $(call gb_Helper_optional,HELP,helpcontent2) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050077 $(call gb_Helper_optional,HSQLDB,hsqldb) \
Peter Foley2e4ab692012-10-28 13:43:54 -040078 $(call gb_Helper_optional,HUNSPELL,hunspell) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050079 hwpfilter \
Peter Foleydd584cb2012-11-03 13:54:46 -040080 $(call gb_Helper_optional,HYPHEN,hyphen) \
Eike Rathke876c6192013-04-05 18:40:39 +020081 i18nlangtag \
David Tardond2f23a22012-05-24 11:59:16 +020082 i18npool \
David Tardonee28c182012-05-24 12:08:45 +020083 i18nutil \
Peter Foleyb92a0d92012-12-25 17:39:43 -050084 $(call gb_Helper_optional,ICU,icu) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -050085 idl \
86 $(call gb_Helper_optional,DESKTOP,idlc) \
Bjoern Michaelsen87c57d82013-02-26 17:42:05 +010087 instsetoo_native \
David Tardon3018f4f2012-05-24 12:12:43 +020088 io \
David Tardon87e0c602012-05-24 12:15:38 +020089 javaunohelper \
David Ostrovsky368e23a2012-10-04 09:41:00 +020090 $(call gb_Helper_optional,JFREEREPORT,jfreereport) \
Matúš Kukane7d94922012-11-10 12:48:30 +010091 $(call gb_Helper_optional,JPEG,jpeg) \
David Tardonf60ee812012-07-29 11:59:35 +020092 jurt \
93 jvmaccess \
94 jvmfwk \
Matúš Kukan72258d12012-10-28 00:39:39 +020095 $(call gb_Helper_optional,LANGUAGETOOL,languagetool) \
Peter Foleyf7452122012-11-04 08:46:44 -050096 $(call gb_Helper_optional,LCMS2,lcms2) \
Matúš Kukan798d7582012-12-14 21:24:33 +010097 $(call gb_Helper_optional,CDR,libcdr) \
98 $(call gb_Helper_optional,CMIS,libcmis) \
Peter Foley31219f02012-11-09 17:25:56 -050099 $(call gb_Helper_optional,LIBEXTTEXTCAT,libexttextcat) \
Peter Foley782151a2012-11-11 16:02:36 -0500100 $(call gb_Helper_optional,LIBLANGTAG,liblangtag) \
Peter Foley43a9cd82012-12-25 09:53:31 -0500101 $(call gb_Helper_optional,LIBPNG,libpng) \
Matúš Kukan798d7582012-12-14 21:24:33 +0100102 $(call gb_Helper_optional,MSPUB,libmspub) \
Fridrich Štrba790a36d2013-03-11 12:38:12 +0100103 $(call gb_Helper_optional,MWAW,libmwaw) \
Fridrich Štrba93848e12013-05-02 20:25:51 +0200104 $(call gb_Helper_optional,ODFGEN,libodfgen) \
Matúš Kukan798d7582012-12-14 21:24:33 +0100105 $(call gb_Helper_optional,ORCUS,liborcus) \
Andras Timar74abeff2012-11-07 23:31:44 +0100106 librelogo \
Matúš Kukan798d7582012-12-14 21:24:33 +0100107 $(call gb_Helper_optional,VISIO,libvisio) \
108 $(call gb_Helper_optional,WPD,libwpd) \
109 $(call gb_Helper_optional,WPG,libwpg) \
110 $(call gb_Helper_optional,WPS,libwps) \
Matúš Kukana811e042013-02-10 14:26:14 +0100111 $(call gb_Helper_optional,LIBXML2,libxml2) \
Peter Foleyec6af412012-11-29 20:50:15 -0500112 libxmlsec \
Peter Foley856c0752013-02-02 15:44:30 -0500113 $(call gb_Helper_optional,LIBXSLT,libxslt) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500114 lingucomponent \
115 linguistic \
116 lotuswordpro \
Peter Foley085346f2012-11-03 19:19:30 -0400117 $(call gb_Helper_optional,LPSOLVE,lpsolve) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500118 $(call gb_Helper_optional,DESKTOP,l10ntools) \
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100119 $(call gb_Helper_optional,MARIADB,libmariadb) \
Matúš Kukan798d7582012-12-14 21:24:33 +0100120 $(call gb_Helper_optional,MDDS,mdds) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500121 $(call gb_Helper_optional,MORE_FONTS,more_fonts) \
Peter Foley61e7c592013-02-22 21:33:23 -0500122 $(call gb_Helper_optional,MOZ,moz) \
Rene Engelhardb6e4c0e2013-03-10 17:30:16 +0100123 $(call gb_Helper_optional,MARIADBC,mysqlc) \
Peter Foleyc322d502013-01-23 16:29:08 -0500124 $(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \
Peter Foley7e2c27c2012-10-28 09:39:23 -0400125 $(call gb_Helper_optional,MYTHES,mythes) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500126 $(call gb_Helper_optional,NEON,neon) \
127 $(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
128 np_sdk \
Peter Foley61e7c592013-02-22 21:33:23 -0500129 $(call gb_Helper_optional,NSS,nss) \
David Tardon5e4eee12012-05-24 12:00:51 +0200130 o3tl \
Peter Foley613221b2013-02-21 00:56:13 -0600131 $(call gb_Helper_optional,ODK,odk) \
David Tardonf60ee812012-07-29 11:59:35 +0200132 offapi \
133 officecfg \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500134 oovbaapi \
135 oox \
Matúš Kukanc3a586a2012-10-28 12:35:07 +0100136 $(call gb_Helper_optional,OPENLDAP,openldap) \
Peter Foley61e7c592013-02-22 21:33:23 -0500137 $(call gb_Helper_optional,OPENSSL,openssl) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500138 package \
139 padmin \
Peter Foleyffcaa762012-10-21 09:15:12 -0400140 $(call gb_Helper_optional,POSTGRESQL,postgresql) \
Bjoern Michaelsenf6241442013-02-25 11:56:21 +0100141 postprocess \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500142 psprint_config \
Peter Foley61e7c592013-02-22 21:33:23 -0500143 $(call gb_Helper_optional,PYTHON,python3) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500144 $(call gb_Helper_optional,PYUNO,pyuno) \
145 $(call gb_Helper_optional,QADEVOOO,qadevOOo) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500146 readlicense_oo \
Peter Foley18bd1e72012-12-27 18:04:21 -0500147 $(call gb_Helper_optional,REDLAND,redland) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500148 registry \
149 remotebridges \
150 reportbuilder \
Peter Foley10811502013-03-26 21:44:21 -0400151 $(call gb_Helper_optional,DBCONNECTIVITY,reportdesign) \
David Ostrovskyae1f2f62012-10-02 23:22:37 +0200152 $(call gb_Helper_optional,RHINO,rhino) \
David Tardonf60ee812012-07-29 11:59:35 +0200153 ridljar \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500154 rsc \
Peter Foley42adaa02012-10-25 20:26:22 -0400155 sal \
David Tardonf60ee812012-07-29 11:59:35 +0200156 salhelper \
David Tardon0799823e2012-05-24 12:05:01 +0200157 sax \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500158 sc \
159 scaddins \
160 sccomp \
161 $(call gb_Helper_optional,DESKTOP,scp2) \
162 scripting \
163 sd \
164 sdext \
Peter Foley42617572013-02-07 19:17:22 -0500165 $(call gb_Helper_optional,DESKTOP,setup_native) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500166 sfx2 \
167 shell \
168 slideshow \
169 smoketest \
Peter Foley2ba90232013-02-24 16:02:08 -0500170 solenv \
Peter Foley61e7c592013-02-22 21:33:23 -0500171 soltools \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500172 sot \
173 starmath \
David Tardonf60ee812012-07-29 11:59:35 +0200174 stoc \
175 store \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500176 svl \
177 svtools \
Michael Meeks44cfc7c2012-10-09 12:22:23 +0100178 svgio \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500179 svx \
180 sw \
181 swext \
Peter Foley01344a82013-02-10 18:22:07 -0500182 sysui \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500183 test \
184 testtools \
Norbert Thiebaud8f2859a2012-09-29 02:42:25 -0500185 $(call gb_Helper_optional,TOMCAT,tomcat) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500186 toolkit \
David Tardond7767f62012-05-24 11:56:50 +0200187 tools \
Tor Lillqvist92f23292012-06-05 16:35:49 +0300188 touch \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500189 tubes \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500190 ucb \
David Tardonf60ee812012-07-29 11:59:35 +0200191 ucbhelper \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500192 $(call gb_Helper_optional,UCPP,ucpp) \
David Tardonf60ee812012-07-29 11:59:35 +0200193 udkapi \
David Tardonbcd0b2a2012-08-02 17:57:23 +0200194 udm \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500195 UnoControls \
196 unodevtools \
David Tardon1d5c70b2012-05-24 12:17:24 +0200197 unoil \
Stephan Bergmann320571b2013-02-25 15:31:05 +0100198 unoidl \
David Tardon77fa4ee2012-05-24 12:02:36 +0200199 unotest \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500200 unotools \
201 unoxml \
David Tardon6b78dd32012-05-24 12:10:14 +0200202 ure \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500203 uui \
204 vbahelper \
205 vcl \
Matúš Kukan798d7582012-12-14 21:24:33 +0100206 $(call gb_Helper_optional,VIGRA,vigra) \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500207 wizards \
208 writerfilter \
209 writerperfect \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500210 xmerge \
211 $(call gb_Helper_optional,DESKTOP,xmlhelp) \
212 xmloff \
Peter Foleyfb1d11d2013-02-17 09:26:01 -0500213 $(call gb_Helper_optional,XPDF,xpdf) \
David Tardonf60ee812012-07-29 11:59:35 +0200214 xmlreader \
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500215 xmlscript \
216 xmlsecurity \
Matúš Kukan798d7582012-12-14 21:24:33 +0100217 $(call gb_Helper_optional,XSLTML,xsltml) \
Peter Foley01c79232012-12-25 09:50:19 -0500218 $(call gb_Helper_optional,ZLIB,zlib) \
Norbert Thiebaud7c1026a2011-04-23 21:14:25 -0500219))
220
Peter Foley0e5f2ea2013-04-10 19:02:44 -0400221ifneq ($(MERGELIBS),)
Michael Stahl2ee838d2013-03-01 00:54:25 +0100222$(eval $(call gb_Module_add_targets,libreoffice,\
Matúš Kukan75fac982011-08-24 12:17:31 +0100223 Library_merged \
Matúš Kukancefeae72013-04-16 12:58:47 +0200224 $(if $(URELIBS),Library_urelibs) \
Matúš Kukan75fac982011-08-24 12:17:31 +0100225))
226endif
227
Michael Stahl6d1cef52012-05-15 19:34:46 +0200228# Especially when building everything with symbols, the linking of the largest
Norbert Thiebaud47894cd2012-09-29 02:21:20 -0500229# libraries takes enormous amounts of RAM. To prevent annoying OOM situations
Michael Stahl6d1cef52012-05-15 19:34:46 +0200230# etc., try to prevent linking these in parallel by adding artificial build
231# order dependencies here.
Michael Stahl2ee838d2013-03-01 00:54:25 +0100232define repositorymodule_serialize1
Michael Stahl6d1cef52012-05-15 19:34:46 +0200233$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktargetname,$(1))) \
234 :| $(foreach lib,$(2),$(call gb_Library_get_target,$(lib)))
235endef
236
Michael Stahl2ee838d2013-03-01 00:54:25 +0100237define repositorymodule_serialize
Michael Stahl6d1cef52012-05-15 19:34:46 +0200238$(if $(filter-out 0 1,$(words $(1))),\
Michael Stahl2ee838d2013-03-01 00:54:25 +0100239$(call repositorymodule_serialize1,$(firstword $(1)),$(wordlist 2,$(words $(1)),$(1))))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200240$(if $(strip $(1)),\
Michael Stahl2ee838d2013-03-01 00:54:25 +0100241$(call repositorymodule_serialize,$(wordlist 2,$(words $(1)),$(1))))
Michael Stahl6d1cef52012-05-15 19:34:46 +0200242endef
243
Michael Stahl98532802013-05-31 23:09:20 +0200244# DO NOT SORT ALPHABETICALLY: the libraries must be listed in dependency order,
245# otherwise cyclic dependencies ruin everything.
Michael Stahlab9b5f42013-05-31 23:02:33 +0200246# do not serialize on a partial build as that may fail due to missing deps.
247# the default goal is all (see Module.mk)
248ifeq (,$(filter-out all,$(MAKECMDGOALS)))
Michael Stahl2ee838d2013-03-01 00:54:25 +0100249$(eval $(call repositorymodule_serialize,\
Tor Lillqvist7617e9c2012-08-02 14:24:00 +0300250 scfilt \
Michael Stahlc54dcf22013-05-31 22:51:40 +0200251 $(if $(filter SCRIPTING,$(BUILD_TYPE)),vbaobj) \
252 sc msword swui sw sd \
253 $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),dbu) \
Michael Stahl98532802013-05-31 23:09:20 +0200254 writerfilter cui chartcontroller chartcore oox svx \
Michael Stahlc54dcf22013-05-31 22:51:40 +0200255 $(if $(MERGELIBS),merged,svxcore) \
Michael Stahl98532802013-05-31 23:09:20 +0200256 xo sfx fwk svt vcl \
Michael Meeks88880512012-07-11 09:54:22 +0100257))
Matúš Kukanf1835782012-08-09 10:35:24 +0200258endif
Michael Stahl6d1cef52012-05-15 19:34:46 +0200259
Tor Lillqvist35491072011-08-02 21:22:35 +0300260# vim: set noet sw=4 ts=4: