Version 3.6.0.4, tag libreoffice-3.6.0.4
[LibreOffice.git] / Module_tail_build.mk
blob949195aeb1d49d7b2b382713d37919cba608bd15
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # Version: MPL 1.1 / GPLv3+ / LGPLv3+
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
13 # License.
15 # The Initial Developer of the Original Code is
16 # Norbert Thiebaud <nthiebaud@gmail.com> (C) 2011, All Rights Reserved.
18 # Alternatively, the contents of this file may be used under the terms of
19 # either the GNU General Public License Version 3 or later (the "GPLv3+"), or
20 # the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
21 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
22 # instead of those above.
25 $(eval $(call gb_Module_Module,tail_end))
27 $(eval $(call gb_Module_add_moduledirs,tail_end,\
28 accessibility \
29 animations \
30 apple_remote \
31 avmedia \
32 basctl \
33 basebmp \
34 basegfx \
35 basic \
36 bean \
37 binaryurp \
38 canvas \
39 chart2 \
40 configmgr \
41 connectivity \
42 cppcanvas \
43 cpputools \
44 cui \
45 dbaccess \
46 desktop \
47 dtrans \
48 drawinglayer \
49 editeng \
50 embeddedobj \
51 embedserv \
52 eventattacher \
53 extensions \
54 fileaccess \
55 filter \
56 forms \
57 formula \
58 fpicker \
59 framework \
60 hwpfilter \
61 i18npool \
62 i18nutil \
63 idl \
64 io \
65 javaunohelper \
66 lingucomponent \
67 linguistic \
68 lotuswordpro \
69 MathMLDTD \
70 Mesa \
71 $(if $(filter NLPSOLVER,$(BUILD_TYPE)),\
72 nlpsolver \
73 ) \
74 np_sdk \
75 o3tl \
76 oovbaapi \
77 oox \
78 package \
79 padmin \
80 psprint_config \
81 $(if $(filter QADEVOOO,$(BUILD_TYPE)),\
82 qadevOOo \
83 ) \
84 regexp \
85 reportbuilder \
86 reportdesign \
87 rsc \
88 sane \
89 sax \
90 sc \
91 scaddins \
92 sccomp \
93 $(if $(filter DESKTOP,$(BUILD_TYPE)),\
94 scp2 \
95 ) \
96 scripting \
97 sd \
98 sdext \
99 sfx2 \
100 shell \
101 slideshow \
102 smoketest \
103 sot \
104 starmath \
105 svl \
106 svtools \
107 svx \
108 sw \
109 swext \
110 test \
111 toolkit \
112 tools \
113 twain \
114 ucb \
115 unixODBC \
116 UnoControls \
117 unodevtools \
118 unoil \
119 unotest \
120 unotools \
121 unoxml \
122 ure \
123 uui \
124 vbahelper \
125 vcl \
126 wizards \
127 writerfilter \
128 writerperfect \
129 $(if $(filter X11_EXTENSIONS,$(BUILD_TYPE)), \
130 x11_extensions \
132 xmerge \
133 $(if $(filter DESKTOP,$(BUILD_TYPE)), \
134 xmlhelp) \
135 xmloff \
136 xmlscript \
137 xmlsecurity \
140 ifeq ($(MERGELIBS),TRUE)
141 $(eval $(call gb_Module_add_targets,tail_end,\
142 Library_merged \
144 endif
146 # Especially when building everything with symbols, the linking of the largest
147 # libraries takes enormous amounts of RAM. To prevent annoying OOM situations
148 # etc., try to prevent linking these in parallel by adding artificial build
149 # order dependencies here.
150 define tailbuild_serialize1
151 $(call gb_LinkTarget_get_target,$(call gb_Library_get_linktargetname,$(1))) \
152 :| $(foreach lib,$(2),$(call gb_Library_get_target,$(lib)))
153 endef
155 define tailbuild_serialize
156 $(if $(filter-out 0 1,$(words $(1))),\
157 $(call tailbuild_serialize1,$(firstword $(1)),$(wordlist 2,$(words $(1)),$(1))))
158 $(if $(strip $(1)),\
159 $(call tailbuild_serialize,$(wordlist 2,$(words $(1)),$(1))))
160 endef
162 $(eval $(call tailbuild_serialize,scfilt sc sw sd $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),dbu) oox svxcore vcl xo))
164 # vim: set noet sw=4 ts=4: