adapt hwpfilter unittests to separate RdbTarget makefile requirement
[LibreOffice.git] / oox / Library_oox.mk
blob1a3dceefd71c1814475448522bb8191cf4b134ee
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
2 # Version: MPL 1.1 / GPLv3+ / LGPLv3+
4 # The contents of this file are subject to the Mozilla Public License Version
5 # 1.1 (the "License"); you may not use this file except in compliance with
6 # the License or as specified alternatively below. You may obtain a copy of
7 # the License at http://www.mozilla.org/MPL/
9 # Software distributed under the License is distributed on an "AS IS" basis,
10 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 # for the specific language governing rights and limitations under the
12 # License.
14 # The Initial Developer of the Original Code is
15 # David Tardon, Red Hat Inc. <dtardon@redhat.com>
16 # Portions created by the Initial Developer are Copyright (C) 2010 the
17 # Initial Developer. All Rights Reserved.
19 # Major Contributor(s):
21 # For minor contributions see the git repository.
23 # Alternatively, the contents of this file may be used under the terms of
24 # either the GNU General Public License Version 3 or later (the "GPLv3+"), or
25 # the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
26 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
27 # instead of those above.
29 $(eval $(call gb_Library_Library,oox))
31 $(eval $(call gb_Library_add_package_headers,oox,\
32 oox_inc \
33 oox_generated \
34 oox_source \
35 oox_tokens \
38 $(eval $(call gb_Library_set_include,oox,\
39 $$(INCLUDE) \
40 -I$(OUTDIR)/inc \
41 -I$(realpath $(SRCDIR)/oox/inc) \
44 $(eval $(call gb_Library_add_defs,oox,\
45 -DOOX_DLLIMPLEMENTATION \
48 $(eval $(call gb_Library_add_api,oox,\
49 offapi \
50 udkapi \
53 $(eval $(call gb_Library_add_linked_libs,oox,\
54 basegfx \
55 comphelper \
56 cppu \
57 cppuhelper \
58 msfilter \
59 sal \
60 sax \
61 svl \
62 svt \
63 svxcore \
64 sot \
65 tl \
66 utl \
67 vcl \
68 xo \
69 xcr \
70 $(gb_STDLIBS) \
73 $(eval $(call gb_Library_use_external,oox,openssl))
75 $(eval $(call gb_Library_set_componentfile,oox,oox/util/oox))
77 $(eval $(call gb_Library_add_exception_objects,oox,\
78 oox/source/core/binarycodec \
79 oox/source/core/binaryfilterbase \
80 oox/source/core/contexthandler2 \
81 oox/source/core/contexthandler \
82 oox/source/core/fastparser \
83 oox/source/core/fasttokenhandler \
84 oox/source/core/filterbase \
85 oox/source/core/filterdetect \
86 oox/source/core/fragmenthandler2 \
87 oox/source/core/fragmenthandler \
88 oox/source/core/recordparser \
89 oox/source/core/relations \
90 oox/source/core/relationshandler \
91 oox/source/core/services \
92 oox/source/core/xmlfilterbase \
93 oox/source/docprop/docprophandler \
94 oox/source/docprop/ooxmldocpropimport \
95 oox/source/drawingml/chart/axiscontext \
96 oox/source/drawingml/chart/axisconverter \
97 oox/source/drawingml/chart/axismodel \
98 oox/source/drawingml/chart/chartcontextbase \
99 oox/source/drawingml/chart/chartconverter \
100 oox/source/drawingml/chart/chartdrawingfragment \
101 oox/source/drawingml/chart/chartspaceconverter \
102 oox/source/drawingml/chart/chartspacefragment \
103 oox/source/drawingml/chart/chartspacemodel \
104 oox/source/drawingml/chart/converterbase \
105 oox/source/drawingml/chart/datasourcecontext \
106 oox/source/drawingml/chart/datasourceconverter \
107 oox/source/drawingml/chart/datasourcemodel \
108 oox/source/drawingml/chart/modelbase \
109 oox/source/drawingml/chart/objectformatter \
110 oox/source/drawingml/chart/plotareacontext \
111 oox/source/drawingml/chart/plotareaconverter \
112 oox/source/drawingml/chart/plotareamodel \
113 oox/source/drawingml/chart/seriescontext \
114 oox/source/drawingml/chart/seriesconverter \
115 oox/source/drawingml/chart/seriesmodel \
116 oox/source/drawingml/chart/titlecontext \
117 oox/source/drawingml/chart/titleconverter \
118 oox/source/drawingml/chart/titlemodel \
119 oox/source/drawingml/chart/typegroupcontext \
120 oox/source/drawingml/chart/typegroupconverter \
121 oox/source/drawingml/chart/typegroupmodel \
122 oox/source/drawingml/clrschemecontext \
123 oox/source/drawingml/clrscheme \
124 oox/source/drawingml/colorchoicecontext \
125 oox/source/drawingml/color \
126 oox/source/drawingml/connectorshapecontext \
127 oox/source/drawingml/customshapegeometry \
128 oox/source/drawingml/customshapeproperties \
129 oox/source/drawingml/diagram/constraintlistcontext \
130 oox/source/drawingml/diagram/datamodelcontext \
131 oox/source/drawingml/diagram/diagram \
132 oox/source/drawingml/diagram/diagramdefinitioncontext \
133 oox/source/drawingml/diagram/diagramfragmenthandler \
134 oox/source/drawingml/diagram/diagramlayoutatoms \
135 oox/source/drawingml/diagram/layoutnodecontext \
136 oox/source/drawingml/drawingmltypes \
137 oox/source/drawingml/embeddedwavaudiofile \
138 oox/source/drawingml/fillproperties \
139 oox/source/drawingml/fillpropertiesgroupcontext \
140 oox/source/drawingml/graphicshapecontext \
141 oox/source/drawingml/guidcontext \
142 oox/source/drawingml/hyperlinkcontext \
143 oox/source/drawingml/linepropertiescontext \
144 oox/source/drawingml/lineproperties \
145 oox/source/drawingml/objectdefaultcontext \
146 oox/source/drawingml/shapecontext \
147 oox/source/drawingml/shape \
148 oox/source/drawingml/shape3dproperties \
149 oox/source/drawingml/shapegroupcontext \
150 oox/source/drawingml/shapepropertiescontext \
151 oox/source/drawingml/shapepropertymap \
152 oox/source/drawingml/shapestylecontext \
153 oox/source/drawingml/spdefcontext \
154 oox/source/drawingml/table/tablebackgroundstylecontext \
155 oox/source/drawingml/table/tablecellcontext \
156 oox/source/drawingml/table/tablecell \
157 oox/source/drawingml/table/tablecontext \
158 oox/source/drawingml/table/tablepartstylecontext \
159 oox/source/drawingml/table/tableproperties \
160 oox/source/drawingml/table/tablerowcontext \
161 oox/source/drawingml/table/tablerow \
162 oox/source/drawingml/table/tablestylecellstylecontext \
163 oox/source/drawingml/table/tablestylecontext \
164 oox/source/drawingml/table/tablestyle \
165 oox/source/drawingml/table/tablestylelist \
166 oox/source/drawingml/table/tablestylelistfragmenthandler \
167 oox/source/drawingml/table/tablestylepart \
168 oox/source/drawingml/table/tablestyletextstylecontext \
169 oox/source/drawingml/textbodycontext \
170 oox/source/drawingml/textbody \
171 oox/source/drawingml/textbodypropertiescontext \
172 oox/source/drawingml/textbodyproperties \
173 oox/source/drawingml/textcharacterpropertiescontext \
174 oox/source/drawingml/textcharacterproperties \
175 oox/source/drawingml/textfieldcontext \
176 oox/source/drawingml/textfield \
177 oox/source/drawingml/textfont \
178 oox/source/drawingml/textliststylecontext \
179 oox/source/drawingml/textliststyle \
180 oox/source/drawingml/textparagraph \
181 oox/source/drawingml/textparagraphpropertiescontext \
182 oox/source/drawingml/textparagraphproperties \
183 oox/source/drawingml/textrun \
184 oox/source/drawingml/textspacingcontext \
185 oox/source/drawingml/texttabstoplistcontext \
186 oox/source/drawingml/theme \
187 oox/source/drawingml/themeelementscontext \
188 oox/source/drawingml/themefragmenthandler \
189 oox/source/drawingml/transform2dcontext \
190 oox/source/dump/biffdumper \
191 oox/source/dump/dffdumper \
192 oox/source/dump/dumperbase \
193 oox/source/dump/oledumper \
194 oox/source/dump/pptxdumper \
195 oox/source/dump/xlsbdumper \
196 oox/source/export/chartexport \
197 oox/source/export/ColorPropertySet \
198 oox/source/export/drawingml \
199 oox/source/export/SchXMLSeriesHelper \
200 oox/source/export/ooxmlexport \
201 oox/source/export/shapes \
202 oox/source/export/vmlexport \
203 oox/source/helper/attributelist \
204 oox/source/helper/binaryinputstream \
205 oox/source/helper/binaryoutputstream \
206 oox/source/helper/binarystreambase \
207 oox/source/helper/containerhelper \
208 oox/source/helper/graphichelper \
209 oox/source/helper/modelobjecthelper \
210 oox/source/helper/progressbar \
211 oox/source/helper/propertymap \
212 oox/source/helper/propertyset \
213 oox/source/helper/storagebase \
214 oox/source/helper/textinputstream \
215 oox/source/helper/zipstorage \
216 oox/source/ole/axbinaryreader \
217 oox/source/ole/axbinarywriter \
218 oox/source/ole/axfontdata \
219 oox/source/ole/axcontrol \
220 oox/source/ole/axcontrolfragment \
221 oox/source/ole/olehelper \
222 oox/source/ole/oleobjecthelper \
223 oox/source/ole/olestorage \
224 oox/source/ole/vbacontrol \
225 oox/source/ole/vbahelper \
226 oox/source/ole/vbainputstream \
227 oox/source/ole/vbamodule \
228 oox/source/ole/vbaproject \
229 oox/source/ole/vbaprojectfilter \
230 oox/source/ppt/animationspersist \
231 oox/source/ppt/animationtypes \
232 oox/source/ppt/animvariantcontext \
233 oox/source/ppt/backgroundproperties \
234 oox/source/ppt/buildlistcontext \
235 oox/source/ppt/commonbehaviorcontext \
236 oox/source/ppt/commontimenodecontext \
237 oox/source/ppt/conditioncontext \
238 oox/source/ppt/customshowlistcontext \
239 oox/source/ppt/dgmimport \
240 oox/source/ppt/dgmlayout \
241 oox/source/ppt/headerfootercontext \
242 oox/source/ppt/layoutfragmenthandler \
243 oox/source/ppt/pptfilterhelpers \
244 oox/source/ppt/pptgraphicshapecontext \
245 oox/source/ppt/pptimport \
246 oox/source/ppt/pptshapecontext \
247 oox/source/ppt/pptshape \
248 oox/source/ppt/pptshapegroupcontext \
249 oox/source/ppt/pptshapepropertiescontext \
250 oox/source/ppt/presentationfragmenthandler \
251 oox/source/ppt/slidefragmenthandler \
252 oox/source/ppt/slidemastertextstylescontext \
253 oox/source/ppt/slidepersist \
254 oox/source/ppt/slidetimingcontext \
255 oox/source/ppt/slidetransitioncontext \
256 oox/source/ppt/slidetransition \
257 oox/source/ppt/soundactioncontext \
258 oox/source/ppt/timeanimvaluecontext \
259 oox/source/ppt/timenode \
260 oox/source/ppt/timenodelistcontext \
261 oox/source/ppt/timetargetelementcontext \
262 oox/source/shape/ShapeContextHandler \
263 oox/source/shape/ShapeFilterBase \
264 oox/source/token/namespacemap \
265 oox/source/token/propertynames \
266 oox/source/token/tokenmap \
267 oox/source/vml/vmldrawing \
268 oox/source/vml/vmldrawingfragment \
269 oox/source/vml/vmlformatting \
270 oox/source/vml/vmlinputstream \
271 oox/source/vml/vmlshapecontainer \
272 oox/source/vml/vmlshapecontext \
273 oox/source/vml/vmlshape \
274 oox/source/vml/vmltextboxcontext \
275 oox/source/vml/vmltextbox \
276 oox/source/xls/addressconverter \
277 oox/source/xls/autofilterbuffer \
278 oox/source/xls/autofiltercontext \
279 oox/source/xls/biffcodec \
280 oox/source/xls/biffdetector \
281 oox/source/xls/biffhelper \
282 oox/source/xls/biffinputstream \
283 oox/source/xls/biffoutputstream \
284 oox/source/xls/chartsheetfragment \
285 oox/source/xls/commentsbuffer \
286 oox/source/xls/commentsfragment \
287 oox/source/xls/condformatbuffer \
288 oox/source/xls/condformatcontext \
289 oox/source/xls/connectionsbuffer \
290 oox/source/xls/connectionsfragment \
291 oox/source/xls/defnamesbuffer \
292 oox/source/xls/drawingbase \
293 oox/source/xls/drawingfragment \
294 oox/source/xls/drawingmanager \
295 oox/source/xls/excelchartconverter \
296 oox/source/xls/excelfilter \
297 oox/source/xls/excelhandlers \
298 oox/source/xls/excelvbaproject \
299 oox/source/xls/externallinkbuffer \
300 oox/source/xls/externallinkfragment \
301 oox/source/xls/formulabase \
302 oox/source/xls/formulaparser \
303 oox/source/xls/numberformatsbuffer \
304 oox/source/xls/ooxformulaparser \
305 oox/source/xls/pagesettings \
306 oox/source/xls/pivotcachebuffer \
307 oox/source/xls/pivotcachefragment \
308 oox/source/xls/pivottablebuffer \
309 oox/source/xls/pivottablefragment \
310 oox/source/xls/querytablebuffer \
311 oox/source/xls/querytablefragment \
312 oox/source/xls/richstringcontext \
313 oox/source/xls/richstring \
314 oox/source/xls/scenariobuffer \
315 oox/source/xls/scenariocontext \
316 oox/source/xls/sharedstringsbuffer \
317 oox/source/xls/sharedstringsfragment \
318 oox/source/xls/sheetdatabuffer \
319 oox/source/xls/sheetdatacontext \
320 oox/source/xls/stylesbuffer \
321 oox/source/xls/stylesfragment \
322 oox/source/xls/tablebuffer \
323 oox/source/xls/tablefragment \
324 oox/source/xls/themebuffer \
325 oox/source/xls/unitconverter \
326 oox/source/xls/viewsettings \
327 oox/source/xls/workbookfragment \
328 oox/source/xls/workbookhelper \
329 oox/source/xls/workbooksettings \
330 oox/source/xls/worksheetbuffer \
331 oox/source/xls/worksheetfragment \
332 oox/source/xls/worksheethelper \
333 oox/source/xls/worksheetsettings \
336 $(eval $(call gb_Library_add_generated_exception_objects,oox,\
337 oox/source/export/vmlexport-shape-types \
340 $(call gb_GenCxxObject_get_source,oox/source/export/vmlexport-shape-types) : $(SRCDIR)/oox/source/export/preset-definitions-to-shape-types.pl $(SRCDIR)/oox/source/export/presetShapeDefinitions.xml $(SRCDIR)/oox/source/export/presetTextWarpDefinitions.xml
341 mkdir -p $(dir $@)
342 perl $^ > $@.in_progress 2> $@.log && mv $@.in_progress $@
344 oox_SRC := $(SRCDIR)/oox/source/token
345 oox_MISC := $(WORKDIR)/oox/misc
346 oox_INC := $(WORKDIR)/oox/inc
347 oox_GENHEADERPATH := $(oox_INC)/oox/token
349 # these three generated headers are included from just about everywhere--might
350 # just as well make them before everything else...
351 $(call gb_Package_get_target,oox_inc) : $(oox_GENHEADERPATH)/namespaces.hxx
352 $(call gb_Package_get_target,oox_inc) : $(oox_GENHEADERPATH)/properties.hxx
353 $(call gb_Package_get_target,oox_inc) : $(oox_GENHEADERPATH)/tokens.hxx
354 $(call gb_Package_get_target,oox_inc) : $(call gb_Package_get_target,oox_source)
355 $(call gb_Package_get_target,oox_inc) : $(call gb_Package_get_target,oox_generated)
359 $(call gb_CxxObject_get_target,oox/source/token/tokenmap) : $(oox_INC)/tokenhash.inc
361 $(eval $(call gb_Library_set_include,oox,\
362 $$(INCLUDE) \
363 -I$(oox_INC) \
366 $(oox_INC)/tokenhash.inc : $(oox_MISC)/tokenhash.gperf
367 gperf --compare-strncmp $< | sed -e 's/(char\*)0/(char\*)0, 0/g' | grep -v '^#line' > $@
369 oox_GenTarget_get_target = $(oox_MISC)/$(1)
371 define oox_GenTarget_GenTarget
372 $(oox_GENHEADERPATH)/$(1).hxx $(oox_MISC)/$(2)ids.inc $(oox_INC)/$(2)names.inc $(if $(3),$(oox_MISC)/$(3)) : $(call oox_GenTarget_get_target,$(1))
373 $(call oox_GenTarget_get_target,$(1)) : $(oox_SRC)/$(1).pl $(oox_SRC)/$(1).txt $(oox_SRC)/$(1).hxx.head $(oox_SRC)/$(1).hxx.tail
374 mkdir -p $(oox_MISC) $(oox_INC) $(oox_GENHEADERPATH)
375 perl $(oox_SRC)/$(1).pl $(oox_SRC)/$(1).txt $(oox_MISC)/$(2)ids.inc $(oox_INC)/$(2)names.inc $(if $(3),$(oox_MISC)/$(3)) \
376 && cat $(oox_SRC)/$(1).hxx.head $(oox_MISC)/$(2)ids.inc $(oox_SRC)/$(1).hxx.tail > $(oox_GENHEADERPATH)/$(1).hxx \
377 && touch $$@
378 endef
380 $(eval $(call oox_GenTarget_GenTarget,namespaces,namespace,namespaces.txt))
381 $(eval $(call oox_GenTarget_GenTarget,properties,property,))
382 $(eval $(call oox_GenTarget_GenTarget,tokens,token,tokenhash.gperf))
384 $(call gb_Library_get_clean_target,oox) : oox_clean
386 oox_clean :
387 rm -rf $(WORKDIR)/oox
388 .PHONY: oox_clean
390 # vim: set noet sw=4 ts=4: