1 #***************************************************************
2 # Licensed to the Apache Software Foundation (ASF) under one
3 # or more contributor license agreements. See the NOTICE file
4 # distributed with this work for additional information
5 # regarding copyright ownership. The ASF licenses this file
6 # to you under the Apache License, Version 2.0 (the
7 # "License"); you may not use this file except in compliance
8 # with the License. You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing,
13 # software distributed under the License is distributed on an
14 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 # KIND, either express or implied. See the License for the
16 # specific language governing permissions and limitations
18 #***************************************************************
20 # Configuration files: a bit of an overview of the targets:
23 # => XcsTarget: schemas
26 # => XcuDataTarget: data
28 # => XcsTarget (schema)
30 # => XcuModuleTaret: modules
33 # => XcuLangpackTarget: langpack (per lang)
37 # => XcuResTarget: resources (per lang)
39 # => XcuMergeTarget: merge
40 # => buildtools (cfgex)
43 # => XcsTarget (schema)
45 # Per-repo pattern rules for each repository do not work for all targets
46 # because the prerequisites of some targets need to have the stem mangled
47 # and this does not seem to be possible in GNU make because when the stem is
48 # matched variables have already been expanded (this was possible in dmake).
50 # So to keep things consistent the Configuration takes a parameter for the
51 # repository and all targets use that to find the source file.
53 # Targets where % rule per repo works: XcsTarget XcuDataTarget XcuMergeTarget
54 # fails: XcuModuleTarget XcuLangpackTarget XcuResTarget
56 gb_Configuration__get_source
= $(SRCDIR
)/$(2)
61 # need to locate a schema file corresponding to some XCU file in the outdir
62 define gb_XcsTarget_for_XcuTarget
63 $(call gb_XcsTarget_get_outdir_target
,$(basename $(1)).xcs
)
66 gb_Configuration_LANGS
:= en-US
$(filter-out en-US
,$(gb_WITH_LANG
))
68 gb_XcsTarget_XSLT_SchemaVal
:= $(OUTDIR
)/xml
/processing
/schema_val.xsl
69 gb_XcsTarget_XSLT_Sanity
:= $(OUTDIR
)/xml
/processing
/sanity.xsl
70 gb_XcsTarget_XSLT_SchemaTrim
:= $(OUTDIR
)/xml
/processing
/schema_trim.xsl
71 gb_XcsTarget_DTD_Schema
:= $(OUTDIR
)/xml
/registry
/component-schema.dtd
73 define gb_XcsTarget__command
74 $(call gb_Output_announce
,$(2),$(true
),XCS
,1)
75 $(call gb_Helper_abbreviate_dirs
,\
76 mkdir
-p
$(dir $(1)) && \
77 $(gb_XSLTPROC
) --nonet \
79 --stringparam componentName
$(subst /,.
,$(basename $(XCSFILE
))) \
80 --stringparam root
$(subst $(XCSFILE
),,$(3)) \
81 $(if
$(SCHEMA_ROOT
),--stringparam schemaRoot
$(SCHEMA_ROOT
)) \
82 $(gb_XcsTarget_XSLT_SchemaVal
) \
84 $(gb_XSLTPROC
) --nonet \
86 $(gb_XcsTarget_XSLT_Sanity
) \
88 $(gb_XSLTPROC
) --nonet \
90 $(gb_XcsTarget_XSLT_SchemaTrim
) \
94 $(call gb_XcsTarget_get_target
,%) : \
95 $(gb_XcsTarget_XSLT_SchemaVal
) $(gb_XcsTarget_XSLT_Sanity
) \
96 $(gb_XcsTarget_XSLT_SchemaTrim
) $(gb_XcsTarget_DTD_Schema
)
97 $(call gb_XcsTarget__command
,$@
,$*,$(filter %.xcs
,$^
))
99 $(call gb_XcsTarget_get_clean_target
,%) :
100 $(call gb_Output_announce
,$*,$(false
),XCS
,1)
101 $(call gb_Helper_abbreviate_dirs
,\
102 rm -f
$(call gb_XcsTarget_get_target
,$*) \
103 $(call gb_XcsTarget_get_outdir_target
,$(XCSFILE
)))
105 # the .dir is for make 3.81, which ignores trailing /
106 $(dir $(call gb_XcsTarget_get_outdir_target
,%))%/.
dir :
107 $(if
$(wildcard $(dir $@
)),,mkdir
-p
$(dir $@
))
108 $(dir $(call gb_XcsTarget_get_outdir_target
,%)).
dir :
109 $(if
$(wildcard $(dir $@
)),,mkdir
-p
$(dir $@
))
111 $(call gb_XcsTarget_get_outdir_target
,%) :
112 $(call gb_Helper_abbreviate_dirs
,\
113 $(call gb_Deliver_deliver
,$<,$@
))
116 # XcuDataTarget class
118 gb_XcuTarget_XSLT_AllLang
:= $(OUTDIR
)/xml
/processing
/alllang.xsl
119 gb_XcuDataTarget_XSLT_DataVal
:= $(OUTDIR
)/xml
/processing
/data_val.xsl
120 gb_XcuDataTarget_DTD_ComponentUpdate
:= $(OUTDIR
)/xml
/registry
/component-update.dtd
122 define gb_XcuDataTarget__command
123 $(call gb_Output_announce
,$(2),$(true
),XCU
,2)
124 $(call gb_Helper_abbreviate_dirs
,\
125 mkdir
-p
$(dir $(1)) && \
126 $(gb_XSLTPROC
) --nonet \
128 --stringparam xcs
$(call gb_XcsTarget_for_XcuTarget
,$(XCUFILE
)) \
129 --stringparam schemaRoot
$(call gb_XcsTarget_get_outdir_target
,) \
130 --path
$(gb_Configuration_registry
) \
131 $(gb_XcuDataTarget_XSLT_DataVal
) \
133 $(gb_XSLTPROC
) --nonet \
135 --stringparam xcs
$(call gb_XcsTarget_for_XcuTarget
,$(XCUFILE
)) \
136 --stringparam schemaRoot
$(call gb_XcsTarget_get_outdir_target
,) \
137 --path
$(gb_Configuration_registry
) \
138 $(gb_XcuTarget_XSLT_AllLang
) \
142 $(call gb_XcuDataTarget_get_target
,%) : $(gb_XcuDataTarget_XSLT_DataVal
) \
143 $(gb_XcuTarget_XSLT_AllLang
) $(gb_XcuDataTarget_DTD_ComponentUpdate
)
144 $(call gb_XcuDataTarget__command
,$@
,$*,$(filter %.xcu
,$^
))
146 $(call gb_XcuDataTarget_get_clean_target
,%) :
147 $(call gb_Output_announce
,$*,$(false
),XCU
,2)
148 $(call gb_Helper_abbreviate_dirs
,\
149 rm -f
$(call gb_XcuDataTarget_get_target
,$*) \
150 $(call gb_XcuDataTarget_get_outdir_target
,$(XCUFILE
)))
152 # the .dir is for make 3.81, which ignores trailing /
153 $(dir $(call gb_XcuDataTarget_get_outdir_target
,))%/.
dir :
154 $(if
$(wildcard $(dir $@
)),,mkdir
-p
$(dir $@
))
155 $(dir $(call gb_XcuDataTarget_get_outdir_target
,)).
dir :
156 $(if
$(wildcard $(dir $@
)),,mkdir
-p
$(dir $@
))
158 $(call gb_XcuDataTarget_get_outdir_target
,%) :
159 $(call gb_Helper_abbreviate_dirs
,\
160 $(call gb_Deliver_deliver
,$<,$@
))
163 # XcuModuleTarget class
165 define gb_XcuDataSource_for_XcuModuleTarget
166 $(call gb_Configuration__get_source
,$(1),$(basename $(subst -,.
,$(basename $(2)))).xcu
)
169 define gb_XcsTarget_for_XcuModuleTarget
170 $(call gb_XcsTarget_get_outdir_target
,$(basename $(subst -,.
,$(basename $(1)))).xcs
)
173 define gb_XcuModuleTarget__command
174 $(call gb_Output_announce
,$(2),$(true
),XCU
,3)
175 $(call gb_Helper_abbreviate_dirs
,\
176 mkdir
-p
$(dir $(1)) && \
177 $(gb_XSLTPROC
) --nonet \
179 --stringparam xcs
$(4) \
180 --stringparam schemaRoot
$(call gb_XcsTarget_get_outdir_target
,) \
181 --stringparam module
$(notdir $(subst -,/,$(basename $(notdir $(2))))) \
182 $(gb_XcuTarget_XSLT_AllLang
) \
186 $(call gb_XcuModuleTarget_get_target
,%) : $(gb_XcuTarget_XSLT_AllLang
)
187 $(call gb_XcuModuleTarget__command
,$@
,$*,$(filter %.xcu
,$^
),$(filter %.xcs
,$^
))
189 $(call gb_XcuModuleTarget_get_clean_target
,%) :
190 $(call gb_Output_announce
,$*,$(false
),XCU
,3)
191 $(call gb_Helper_abbreviate_dirs
,\
192 rm -f
$(call gb_XcuModuleTarget_get_target
,$*) \
193 $(call gb_XcuModuleTarget_get_outdir_target
,$(XCUFILE
)))
195 # the .dir is for make 3.81, which ignores trailing /
196 $(dir $(call gb_XcuModuleTarget_get_outdir_target
,))%/.
dir :
197 $(if
$(wildcard $(dir $@
)),,mkdir
-p
$(dir $@
))
199 $(call gb_XcuModuleTarget_get_outdir_target
,%) :
200 $(call gb_Helper_abbreviate_dirs
,\
201 $(call gb_Deliver_deliver
,$<,$@
))
204 # XcuLangpackTarget class
206 gb_XcuLangpackTarget__get_name_with_lang
= $(basename $(1))-$(2)$(suffix $(1))
208 gb_XcuLangpackTarget__get_outdir_target_with_lang
= \
209 $(call gb_XcuLangpackTarget_get_outdir_target
,$(call gb_XcuLangpackTarget__get_name_with_lang
,$(1),$(2)))
210 gb_XcuLangpackTarget__get_target_with_lang
= \
211 $(call gb_XcuLangpackTarget_get_target
,$(call gb_XcuLangpackTarget__get_name_with_lang
,$(1),$(2)))
213 gb_XcuLangpackTarget_SED_delcomment
:= $(OUTDIR
)/xml
/processing
/delcomment.sed
215 define gb_XcuLangpackTarget__command
216 $(call gb_Output_announce
,$(2),$(true
),XCU
,4)
217 $(call gb_Helper_abbreviate_dirs
,\
218 mkdir
-p
$(dir $(1)) && \
219 sed
-e
"s/__LANGUAGE__/$(LANG)/" -f
$(gb_XcuLangpackTarget_SED_delcomment
)\
223 $(call gb_XcuLangpackTarget_get_target
,%) : \
224 $(gb_XcuLangpackTarget_SED_delcomment
)
225 $(call gb_XcuLangpackTarget__command
,$@
,$*,$(filter %.tmpl
,$^
))
227 $(call gb_XcuLangpackTarget_get_clean_target
,%) :
228 $(call gb_Output_announce
,$*,$(false
),XCU
,4)
229 $(call gb_Helper_abbreviate_dirs
,\
230 rm -f
$(foreach lang
,$(gb_Configuration_LANGS
),\
231 $(call gb_XcuLangpackTarget__get_target_with_lang
,$*,$(lang
)) \
232 $(call gb_XcuLangpackTarget__get_outdir_target_with_lang
,$(XCUFILE
),$(lang
))))
234 # the .dir is for make 3.81, which ignores trailing /
235 $(dir $(call gb_XcuLangpackTarget_get_outdir_target
,))%/.
dir :
236 $(if
$(wildcard $(dir $@
)),,mkdir
-p
$(dir $@
))
237 $(dir $(call gb_XcuLangpackTarget_get_outdir_target
,)).
dir :
238 $(if
$(wildcard $(dir $@
)),,mkdir
-p
$(dir $@
))
240 $(call gb_XcuLangpackTarget_get_outdir_target
,%) :
241 $(call gb_Helper_abbreviate_dirs
,\
242 $(call gb_Deliver_deliver
,$<,$@
))
245 # XcuMergeTarget class
247 gb_XcuMergeTarget_CFGEXTARGET
:= $(call gb_Executable_get_target_for_build
,cfgex
)
248 gb_XcuMergeTarget_CFGEXCOMMAND
:= $(gb_Helper_set_ld_path
) $(gb_XcuMergeTarget_CFGEXTARGET
)
250 # PRJNAME is computed from the stem (parameter $(2))
251 define gb_XcuMergeTarget__command
252 $(call gb_Output_announce
,$(2),$(true
),XCU
,5)
253 $(call gb_Helper_abbreviate_dirs
,\
254 mkdir
-p
$(dir $(1)) && \
255 $(gb_XcuMergeTarget_CFGEXCOMMAND
) \
256 -p
$(firstword $(subst /, ,$(2))) \
263 $(call gb_XcuMergeTarget_get_target
,%) : $(gb_XcuMergeTarget_CFGEXTARGET
)
264 $(if
$(SDF
),$(call gb_XcuMergeTarget__command
,$@
,$*,$(filter %.xcu
,$^
)),mkdir
-p
$(dir $@
) && cp
$(filter %.xcu
,$^
) $@
)
266 $(call gb_XcuMergeTarget_get_clean_target
,%) :
267 $(call gb_Output_announce
,$*,$(false
),XCU
,5)
268 $(call gb_Helper_abbreviate_dirs
,\
269 rm -f
$(call gb_XcuMergeTarget_get_target
,$*))
271 # $(call gb_XcuMergeTarget_XcuMergeTarget,target,zipfile,prefix,xcufile)
272 define gb_XcuMergeTarget_XcuMergeTarget
273 $(call gb_XcuMergeTarget_get_target
,$(1)) : \
274 $(call gb_Configuration__get_source
,$(2),$(3)/$(4)) \
275 $(wildcard $(gb_SDFLOCATION
)/$(dir $(1))localize.sdf
)
276 $(call gb_XcuMergeTarget_get_target
,$(1)) : \
277 SDF
:= $(wildcard $(gb_SDFLOCATION
)/$(dir $(1))localize.sdf
)
283 # locale is extracted from the stem (parameter $(2))
284 define gb_XcuResTarget__command
285 $(call gb_Output_announce
,$(2),$(true
),XCU
,6)
286 $(call gb_Helper_abbreviate_dirs
,\
287 mkdir
-p
$(dir $(1)) && \
288 $(gb_XSLTPROC
) --nonet \
290 --stringparam xcs
$(call gb_XcsTarget_for_XcuTarget
,$(XCUFILE
)) \
291 --stringparam schemaRoot
$(call gb_XcsTarget_get_outdir_target
,) \
292 --stringparam locale
$(word 2,$(subst /, ,$(2))) \
293 --path
$(gb_Configuration_registry
) \
294 $(gb_XcuTarget_XSLT_AllLang
) \
298 $(call gb_XcuResTarget_get_target
,%) : $(gb_XcuTarget_XSLT_AllLang
)
299 $(call gb_XcuResTarget__command
,$@
,$*,$(filter %.xcu
,$^
))
301 $(call gb_XcuResTarget_get_clean_target
,%) :
302 $(call gb_Output_announce
,$*,$(false
),XCU
,6)
303 $(call gb_Helper_abbreviate_dirs
,\
304 rm -f
$(call gb_XcuResTarget_get_target
,$*))
306 # $(call gb_XcuResTarget_XcuResTarget,target,zipfile,prefix,xcufile,lang)
307 # this depends either on the source or on the merge target (if WITH_LANG)
308 define gb_XcuResTarget_XcuResTarget
309 ifeq ($(strip $(gb_WITH_LANG
)),)
310 $(call gb_XcuResTarget_get_target
,$(1)) : \
311 $(call gb_Configuration__get_source
,$(2),$(3)/$(4))
313 $(call gb_XcuResTarget_get_target
,$(1)) : \
314 $(call gb_XcuMergeTarget_get_target
,$(3)/$(4))
316 $(call gb_XcuResTarget_get_target
,$(1)) : \
317 $(call gb_XcsTarget_for_XcuTarget
,$(4))
318 $(call gb_XcuResTarget_get_target
,$(1)) : XCUFILE
:= $(4)
322 # Configuration class
324 $(call gb_Configuration_get_clean_target
,%) :
325 $(call gb_Output_announce
,$*,$(false
),CFG
,1)
326 $(call gb_Helper_abbreviate_dirs
,\
327 rm -f
$(call gb_Configuration_get_target
,$*))
329 $(call gb_Configuration_get_target
,%) :
330 $(call gb_Output_announce
,$*,$(true
),CFG
,1)
331 $(call gb_Helper_abbreviate_dirs
,\
332 mkdir
-p
$(dir $@
) && touch
$@
)
335 define gb_Configuration_Configuration_nozip
336 $$(eval
$$(call gb_Module_register_target
,$(call gb_Configuration_get_target
,$(1)),$(call gb_Configuration_get_clean_target
,$(1))))
339 # $(call gb_Configuration_Configuration,zipfile,repo,nodeliver)
340 # cannot use target local variable for REPO because it's needed in prereq
341 # last parameter may be used to turn off delivering of files
342 define gb_Configuration_Configuration
343 $(eval gb_Configuration_NODELIVER_
$(1) := $(2))
344 $(foreach lang
,$(gb_Configuration_LANGS
),$(eval \
345 $(call gb_Zip_Zip
,$(1)_
$(lang
),$(call gb_XcuResTarget_get_target
,$(1)/$(lang
)))))
346 $(foreach lang
,$(gb_Configuration_LANGS
),$(eval \
347 $(call gb_Configuration_get_target
,$(1)) : \
348 $(call gb_Zip_get_final_target
,$(1)_
$(lang
))))
349 $(foreach lang
,$(gb_Configuration_LANGS
),$(eval \
350 $(call gb_Configuration_get_clean_target
,$(1)) : \
351 $(call gb_Zip_get_clean_target
,$(1)_
$(lang
))))
353 $(call gb_Configuration_get_target
,$(1)) : SCHEMA_ROOT
:=
355 $$(eval
$$(call gb_Module_register_target
,$(call gb_Configuration_get_target
,$(1)),$(call gb_Configuration_get_clean_target
,$(1))))
359 # $(call gb_Configuration_add_schema,zipfile,prefix,xcsfile)
360 # FIXME this is always delivered because commands depend on it...
361 # hopefully extensions do not need to add schemas with same name as officecfg
362 define gb_Configuration_add_schema
363 $(call gb_Configuration_get_clean_target
,$(1)) : \
364 $(call gb_XcsTarget_get_clean_target
,$(2)/$(3))
365 $(call gb_XcsTarget_get_target
,$(2)/$(3)) : \
366 $(call gb_Configuration__get_source
,$(1),$(2)/$(3))
367 $(call gb_XcsTarget_get_target
,$(2)/$(3)) : XCSFILE
:= $(3)
368 $(call gb_XcsTarget_get_clean_target
,$(2)/$(3)) : XCSFILE
:= $(3)
369 $(call gb_Configuration_get_target
,$(1)) : \
370 $(call gb_XcsTarget_get_outdir_target
,$(3))
371 $(call gb_XcsTarget_get_outdir_target
,$(3)) : \
372 $(call gb_XcsTarget_get_target
,$(2)/$(3)) \
373 |
$(dir $(call gb_XcsTarget_get_outdir_target
,$(3))).
dir
374 $(call gb_Deliver_add_deliverable
,$(call gb_XcsTarget_get_outdir_target
,$(3)),\
375 $(call gb_XcsTarget_get_target
,$(2)/$(3)),$(2)/$(3))
379 #$(call gb_Configuration_add_schemas,zipfile,prefix,xcsfiles)
380 define gb_Configuration_add_schemas
381 $(foreach xcs
,$(3),$(call gb_Configuration_add_schema
,$(1),$(2),$(xcs
)))
385 # $(call gb_Configuration_add_data,zipfile,prefix,xcufile)
386 define gb_Configuration_add_data
387 $(call gb_Configuration_get_clean_target
,$(1)) : \
388 $(call gb_XcuDataTarget_get_clean_target
,$(2)/$(3))
389 $(call gb_XcuDataTarget_get_target
,$(2)/$(3)) : \
390 $(call gb_Configuration__get_source
,$(1),$(2)/$(3)) \
391 $(call gb_XcsTarget_for_XcuTarget
,$(3))
392 $(call gb_XcuDataTarget_get_target
,$(2)/$(3)) : XCUFILE
:= $(3)
393 $(call gb_XcuDataTarget_get_clean_target
,$(2)/$(3)) : XCUFILE
:= $(3)
394 ifeq ($(strip $(gb_Configuration_NODELIVER_
$(1))),)
395 $(call gb_Configuration_get_target
,$(1)) : \
396 $(call gb_XcuDataTarget_get_outdir_target
,$(3))
397 $(call gb_XcuDataTarget_get_outdir_target
,$(3)) : \
398 $(call gb_XcuDataTarget_get_target
,$(2)/$(3)) \
399 |
$(dir $(call gb_XcuDataTarget_get_outdir_target
,$(3))).
dir
400 $(call gb_Deliver_add_deliverable
,\
401 $(call gb_XcuDataTarget_get_outdir_target
,$(3)),\
402 $(call gb_XcuDataTarget_get_target
,$(2)/$(3)),\
405 $(call gb_Configuration_get_target
,$(1)) : \
406 $(call gb_XcuDataTarget_get_target
,$(2)/$(3))
411 #$(call gb_Configuration_add_datas,zipfile,prefix,xcufiles)
412 define gb_Configuration_add_datas
413 $(foreach xcu
,$(3),$(call gb_Configuration_add_data
,$(1),$(2),$(xcu
)))
417 # $(call gb_Configuration_add_spool_module,zipfile,prefix,xcufile)
418 define gb_Configuration_add_spool_module
419 $(call gb_Configuration_get_clean_target
,$(1)) : \
420 $(call gb_XcuModuleTarget_get_clean_target
,$(2)/$(3))
421 $(call gb_XcuModuleTarget_get_target
,$(2)/$(3)) : \
422 $(call gb_XcuDataSource_for_XcuModuleTarget
,$(1),$(2)/$(3)) \
423 $(call gb_XcsTarget_for_XcuModuleTarget
,$(3))
424 $(call gb_XcuModuleTarget_get_clean_target
,$(2)/$(3)) : XCUFILE
:= $(3)
425 ifeq ($(strip $(gb_Configuration_NODELIVER_
$(1))),)
426 $(call gb_Configuration_get_target
,$(1)) : \
427 $(call gb_XcuModuleTarget_get_outdir_target
,$(3))
428 $(call gb_XcuModuleTarget_get_outdir_target
,$(3)) : \
429 $(call gb_XcuModuleTarget_get_target
,$(2)/$(3)) \
430 |
$(dir $(call gb_XcuModuleTarget_get_outdir_target
,$(3))).
dir
431 $(call gb_Deliver_add_deliverable
,\
432 $(call gb_XcuModuleTarget_get_outdir_target
,$(3)),\
433 $(call gb_XcuModuleTarget_get_target
,$(2)/$(3)),\
436 $(call gb_Configuration_get_target
,$(1)) : \
437 $(call gb_XcuModuleTarget_get_target
,$(2)/$(3))
442 # $(call gb_Configuration_add_spool_modules,zipfile,prefix,xcufiles)
443 define gb_Configuration_add_spool_modules
444 $(foreach xcu
,$(3),$(call gb_Configuration_add_spool_module
,$(1),$(2),$(xcu
)))
448 define gb_Configuration__add_langpack
449 $(if
$(gb_Configuration_NODELIVER_
$(1)),\
450 $(error TODO not needed yet
: cannot add langpack if nodeliver
))
451 $(call gb_Configuration_get_clean_target
,$(1)) : \
452 $(call gb_XcuLangpackTarget_get_clean_target
,$(2)/$(3))
453 $(call gb_Configuration_get_target
,$(1)) : \
454 $(call gb_XcuLangpackTarget__get_outdir_target_with_lang
,$(3),$(4))
455 $(call gb_XcuLangpackTarget__get_target_with_lang
,$(2)/$(3),$(4)) : \
456 $(SRCDIR
)/$(2)/$(3).tmpl
457 $(call gb_XcuLangpackTarget_get_clean_target
,$(2)/$(3)) : XCUFILE
:= $(3)
458 $(call gb_XcuLangpackTarget__get_target_with_lang
,$(2)/$(3),$(4)) : LANG
:= $(4)
459 $(call gb_XcuLangpackTarget__get_outdir_target_with_lang
,$(3),$(4)) : \
460 $(call gb_XcuLangpackTarget__get_target_with_lang
,$(2)/$(3),$(4)) \
461 |
$(dir $(call gb_XcuLangpackTarget__get_outdir_target_with_lang
,$(3),$(4))).
dir
462 $(call gb_Deliver_add_deliverable
,\
463 $(call gb_XcuLangpackTarget__get_outdir_target_with_lang
,$(3),$(4)),\
464 $(call gb_XcuLangpackTarget__get_target_with_lang
,$(2)/$(3),$(4)),\
465 $(call gb_XcuLangpackTarget__get_name_with_lang
,$(2)/$(3),$(4)))
469 # $(call gb_Configuration_add_spool_langpack,zipfile,prefix,xcufile)
470 define gb_Configuration_add_spool_langpack
471 $(foreach lang
,$(gb_Configuration_LANGS
),$(eval \
472 $(call gb_Configuration__add_langpack
,$(1),$(2),$(strip $(3)),$(lang
))))
476 # $(call gb_Configuration_add_localized_data,zipfile,prefix,xcufile)
477 define gb_Configuration_add_localized_data
478 $(eval
$(call gb_Configuration_add_data
,$(1),$(2),$(3)))
479 ifneq ($(strip $(gb_WITH_LANG
)),)
480 $(eval
$(call gb_XcuMergeTarget_XcuMergeTarget
,$(2)/$(3),$(1),$(2),$(3)))
481 $(eval
$(call gb_Configuration_get_clean_target
,$(1)) : \
482 $(call gb_XcuMergeTarget_get_clean_target
,$(2)/$(3)))
484 $(foreach lang
,$(gb_Configuration_LANGS
),$(eval \
485 $(call gb_XcuResTarget_XcuResTarget
,$(1)/$(lang
)/$(3),$(1),$(2),$(3),$(lang
))))
486 $(foreach lang
,$(gb_Configuration_LANGS
),$(eval \
487 $(call gb_Zip_add_file
,$(1)_
$(lang
),$(3))))
488 $(foreach lang
,$(gb_Configuration_LANGS
),$(eval \
489 $(call gb_Configuration_get_clean_target
,$(1)) : \
490 $(call gb_XcuResTarget_get_clean_target
,$(1)/$(lang
)/$(3))))
494 # $(call gb_Configuration_add_localized_datas,zipfile,prefix,xcufile)
495 define gb_Configuration_add_localized_datas
496 $(foreach xcu
,$(3),$(call gb_Configuration_add_localized_data
,$(1),$(2),$(xcu
)))
500 # Set extra registry this configuration can use schemas from.
503 # # foo needs schemas from the main configuration
504 # $(eval $(call gb_Configuration_use_configuration,foo,officecfg))
505 define gb_Configuration_use_configuration
506 $(call gb_Configuration_get_target
,$(1)) : $(call gb_Configuration_get_target
,$(2))
507 $(call gb_Configuration_get_target
,$(1)) : SCHEMA_ROOT
:= $(gb_Configuration_registry
)/schema
511 # vim: set noet sw=4 ts=4: