Version 24.8.3.2, tag libreoffice-24.8.3.2
[LibreOffice.git] / extras / CustomTarget_tplpresnt.mk
blob6be2550b0098bd101282ec1ebfa5040ad1e442a7
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 $(eval $(call gb_CustomTarget_CustomTarget,extras/source/templates/presnt))
12 # # for OTP templates: mimetype, content.xml, styles.xml, META-INF/manifest.xml and
13 # Thumbnails/thumbnail.png files are automatically added for each template
14 # list of meta.xml files (one per template) + other files (content.xml, manifest.rdf, settings.xml, pictures...)
15 extras_PRESENTATIONS_XMLFILES := \
16 Beehive/meta.xml \
17 Blue_Curve/meta.xml \
18 Blueprint_Plans/meta.xml \
19 Candy/meta.xml \
20 DNA/meta.xml \
21 Focus/meta.xml \
22 Forestbird/meta.xml \
23 Grey_Elegant/meta.xml \
24 Growing_Liberty/meta.xml \
25 Freshes/meta.xml \
26 Inspiration/meta.xml \
27 Lights/meta.xml \
28 Metropolis/meta.xml \
29 Midnightblue/meta.xml \
30 Nature_Illustration/meta.xml \
31 Pencil/meta.xml \
32 Piano/meta.xml \
33 Portfolio/meta.xml \
34 Progress/meta.xml \
35 Sunset/meta.xml \
36 Vintage/meta.xml \
37 Vivid/meta.xml \
38 Yellow_Idea/meta.xml \
39 Freshes/Object_1/content.xml \
40 Freshes/Object_2/content.xml \
41 Blueprint_Plans/Pictures/10000000000000580000001F99D2A38C014B254B.png \
42 Blueprint_Plans/Pictures/100000000000033C0000026D847ACE982C6E20B6.png \
43 Blueprint_Plans/Pictures/10000000000004220000031A5C2E04AB7C51FB60.png \
44 Blueprint_Plans/Pictures/1000020100000500000002D03918081590A75FCF.png \
45 Blueprint_Plans/Pictures/1000020100000500000002D0F25E20EA381A5EBD.png \
46 Candy/Pictures/10000000000004A800000500DD5BB9FFED422172.png \
47 Candy/Pictures/10000000000005000000050014DEA376B6E67205.png \
48 Candy/Pictures/1000000000000780000004383B6CE268A9802A07.png \
49 Candy/Pictures/10000000000007800000043870026B1FACED0D1B.png \
50 Freshes/Pictures/10000000000001980000067FB46981E5FBCD5A53.jpg \
51 Freshes/Pictures/10000000000002C5000003C02FC12A07C25F42DF.jpg \
52 Freshes/Pictures/10000000000002D50000067FACCA26111F046EB5.jpg \
53 Freshes/Pictures/100000000000030F0000036F55A62FC34FCAB38E.jpg \
54 Freshes/Pictures/100000000000049100000359E7B1AC100BA62FBB.jpg \
55 Freshes/Pictures/10000000000006D7000003A637B7BBC50EDF4D24.jpg \
56 Freshes/Pictures/1000000000000B8B0000067F7C4C059ECC323C6F.jpg \
57 Grey_Elegant/Pictures/1000000000000007000000075D9D31963C8C0E25.jpg \
58 Grey_Elegant/Pictures/1000000000000007000000076677E5BE1EDAF335.jpg \
59 Grey_Elegant/Pictures/10000000000001920000019230489F7A89351262.jpg \
60 Grey_Elegant/Pictures/10000109000002950000029599843C084F54196C.svg \
61 Grey_Elegant/Pictures/100001E0000002950000029531405702AAD800D0.svg \
62 Grey_Elegant/Pictures/10000201000000190000001945D72F17575B71B4.png \
63 Grey_Elegant/Pictures/1000020100000019000000194F0EE08BB7018624.png \
64 Grey_Elegant/Pictures/10000201000000190000001967D610D5BD5B9486.png \
65 Grey_Elegant/Pictures/100002010000001900000019B19ADF33FD67D860.png \
66 Grey_Elegant/Pictures/100002010000001900000019CA03B954885E470D.png \
67 Grey_Elegant/Pictures/10000201000003300000026455AC9786240DB2F8.png \
68 Grey_Elegant/Pictures/100002510000029500000295D9236A158400ED63.svg \
69 Grey_Elegant/Pictures/100002800000029500000295458C6106AED5C839.svg \
70 Grey_Elegant/Pictures/100002CA0000029500000295A190AE1D987B676B.svg \
71 Grey_Elegant/Pictures/1000DC810000A57800007C20AABC768B7E7ACB30.svg \
72 Growing_Liberty/Pictures/10000000000007800000043801760C0AF0E62E0B.jpg \
73 Growing_Liberty/Pictures/10000000000007800000043827B5F54D1F4F498F.jpg \
74 Growing_Liberty/Pictures/100002010000016A0000029374C9F2B8F26392AD.png \
75 Growing_Liberty/Pictures/10000201000001F000000351DA39462E363D7ED3.png \
76 Growing_Liberty/Pictures/10000201000001F10000029333ED1BC48076B5C4.png \
77 Growing_Liberty/Pictures/10000201000001F3000003548E51808DE171DA02.png \
78 Growing_Liberty/Pictures/10000C1C0000034200004A6A2C92F38BC117DD3C.svg \
79 Growing_Liberty/Pictures/10000C340000844B000003422549B923A55839CC.svg \
80 Growing_Liberty/Pictures/10000C8F0000034200004A6ABD021DA9BD39254C.svg \
81 Growing_Liberty/Pictures/10000CA90000844B000003426738F0E80CCFF9F3.svg \
82 Metropolis/Pictures/10000201000003AF000002126A94207C4902B60B.png \
83 Metropolis/Pictures/100021B200008D2E00004F60B312A649B9EEC188.svg \
84 Nature_Illustration/Pictures/10000000000004210000031931EA92AB7FB2FD6C.jpg \
85 Nature_Illustration/Pictures/100000000000042100000319892187DC121460D8.jpg \
86 Pencil/Pictures/1000020100000088000000870A26C51C993940C3.png \
87 Pencil/Pictures/100002010000037D0000001C2F14EFE8274AD9FC.png \
88 Pencil/Pictures/1000020100000402000000A2F7F509AE74DE6C69.png \
89 Piano/Pictures/100000000000035400000120266623530F1969D0.png \
90 Piano/Pictures/100002010000033A0000006EDD62437E1CC42053.png \
91 Vintage/Pictures/10000000000000580000001F99D2A38C014B254B.png \
92 Vintage/Pictures/10000201000004B000000337490AE22881331C9B.png \
93 Vintage/Pictures/10000201000004B00000033776CA70A4BFE2196B.png \
94 Vintage/Pictures/10000201000004B0000003379D1127938561C230.png \
95 Vintage/Pictures/10000201000004B000000337D99A2303560BD59C.png \
97 # param: style-base (e.g. Modern)
98 extras_PRESNT_XMLFILES_RELATIVE = $(subst $(1)/,,$(filter $(1)/%,$(extras_PRESENTATIONS_XMLFILES)))
100 .SECONDEXPANSION:
101 # secondexpansion since the patterns not just cover a filename portion, but also include a
102 # directory portion withdifferent number of elements
103 # copy regular files (mimetype, *.jpg, *.png, *.rdf, *.svg, *.svm, …)
104 $(gb_CustomTarget_workdir)/extras/source/templates/presnt/% : $(SRCDIR)/extras/source/templates/presnt/% \
105 | $$(dir $(gb_CustomTarget_workdir)/extras/source/templates/presnt/$$*).dir
106 $(call gb_Output_announce,templates/presnt/$*,$(true),CPY,1)
107 $(call gb_Trace_StartRange,templates/presnt/$*,CPY)
108 cp $< $@
109 $(call gb_Trace_EndRange,templates/presnt/$*,CPY)
111 # test and copy xml files
112 $(gb_CustomTarget_workdir)/extras/source/templates/presnt/%.xml : $(SRCDIR)/extras/source/templates/presnt/%.xml \
113 | $(call gb_ExternalExecutable_get_dependencies,xsltproc) \
114 $$(dir $(gb_CustomTarget_workdir)/extras/source/templates/presnt/$$*.xml).dir
115 $(call gb_Output_announce,templates/presnt/$*.xml,$(true),XSL,1)
116 $(call gb_Trace_StartRange,templates/presnt/$*.xml,XSL)
117 $(call gb_ExternalExecutable_get_command,xsltproc) --nonet -o $@ $(SRCDIR)/extras/util/compact.xsl $<
118 $(call gb_Trace_EndRange,templates/presnt/$*.xml,XSL)
120 # zip files to OTP
121 $(gb_CustomTarget_workdir)/extras/source/templates/presnt/%.otp : \
122 $$(addprefix $(gb_CustomTarget_workdir)/extras/source/templates/presnt/$$*/,\
123 mimetype $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) ) \
124 $$(addprefix $(gb_CustomTarget_workdir)/extras/source/templates/presnt/$$*/,\
125 content.xml $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) ) \
126 $$(addprefix $(gb_CustomTarget_workdir)/extras/source/templates/presnt/$$*/,\
127 styles.xml $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) ) \
128 $$(addprefix $(gb_CustomTarget_workdir)/extras/source/templates/presnt/$$*/,\
129 META-INF/manifest.xml $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) ) \
130 $$(addprefix $(gb_CustomTarget_workdir)/extras/source/templates/presnt/$$*/,\
131 Thumbnails/thumbnail.png $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) )
132 $(call gb_Output_announce,templates/presnt/$*.otp,$(true),ZIP,2)
133 $(call gb_Trace_StartRange,templates/presnt/$*.otp,ZIP)
134 $(call gb_Helper_abbreviate_dirs,\
135 cd $(dir $<) && \
136 $(call gb_Helper_wsl_path,\
137 $(WSL) zip -q0X --filesync --must-match $@ mimetype && \
138 $(WSL) zip -qrX --must-match $@ content.xml styles.xml META-INF/manifest.xml Thumbnails/thumbnail.png && \
139 $(WSL) zip -qrX --must-match $@ $(call extras_PRESNT_XMLFILES_RELATIVE,$*)) \
141 $(call gb_Trace_EndRange,templates/presnt/$*.otp,ZIP)
143 # vim: set noet sw=4 ts=4: