Update git submodules
[LibreOffice.git] / extras / CustomTarget_tplpresnt.mk
blob64913497a6d104588cd386480466146d142bcbb2
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_1/meta.xml \
41 Freshes/Object_1/styles.xml \
42 Freshes/Object_2/content.xml \
43 Freshes/Object_2/meta.xml \
44 Freshes/Object_2/styles.xml \
45 Blueprint_Plans/Pictures/10000000000000580000001F99D2A38C014B254B.png \
46 Blueprint_Plans/Pictures/100000000000033C0000026D847ACE982C6E20B6.png \
47 Blueprint_Plans/Pictures/10000000000004220000031A5C2E04AB7C51FB60.png \
48 Blueprint_Plans/Pictures/1000020100000500000002D03918081590A75FCF.png \
49 Blueprint_Plans/Pictures/1000020100000500000002D0F25E20EA381A5EBD.png \
50 Candy/Pictures/10000000000004A800000500DD5BB9FFED422172.png \
51 Candy/Pictures/10000000000005000000050014DEA376B6E67205.png \
52 Candy/Pictures/1000000000000780000004383B6CE268A9802A07.png \
53 Candy/Pictures/10000000000007800000043870026B1FACED0D1B.png \
54 Candy/Pictures/100002010000070E0000007A072587FC46AD7996.png \
55 Candy/Pictures/100002010000078100000028E4140FADDA6D818B.png \
56 Freshes/Pictures/10000000000001980000067FB46981E5FBCD5A53.jpg \
57 Freshes/Pictures/10000000000002C5000003C02FC12A07C25F42DF.jpg \
58 Freshes/Pictures/10000000000002D50000067FACCA26111F046EB5.jpg \
59 Freshes/Pictures/100000000000030F0000036F55A62FC34FCAB38E.jpg \
60 Freshes/Pictures/100000000000049100000359E7B1AC100BA62FBB.jpg \
61 Freshes/Pictures/10000000000006D7000003A637B7BBC50EDF4D24.jpg \
62 Freshes/Pictures/1000000000000B8B0000067F7C4C059ECC323C6F.jpg \
63 Freshes/Pictures/TablePreview1.svm \
64 Grey_Elegant/Pictures/1000000000000007000000075D9D31963C8C0E25.jpg \
65 Grey_Elegant/Pictures/1000000000000007000000076677E5BE1EDAF335.jpg \
66 Grey_Elegant/Pictures/10000000000001920000019230489F7A89351262.jpg \
67 Grey_Elegant/Pictures/10000109000002950000029599843C084F54196C.svg \
68 Grey_Elegant/Pictures/100001E0000002950000029531405702AAD800D0.svg \
69 Grey_Elegant/Pictures/10000201000000190000001945D72F17575B71B4.png \
70 Grey_Elegant/Pictures/1000020100000019000000194F0EE08BB7018624.png \
71 Grey_Elegant/Pictures/10000201000000190000001967D610D5BD5B9486.png \
72 Grey_Elegant/Pictures/100002010000001900000019B19ADF33FD67D860.png \
73 Grey_Elegant/Pictures/100002010000001900000019CA03B954885E470D.png \
74 Grey_Elegant/Pictures/10000201000003300000026455AC9786240DB2F8.png \
75 Grey_Elegant/Pictures/100002510000029500000295D9236A158400ED63.svg \
76 Grey_Elegant/Pictures/100002800000029500000295458C6106AED5C839.svg \
77 Grey_Elegant/Pictures/100002CA0000029500000295A190AE1D987B676B.svg \
78 Grey_Elegant/Pictures/1000DC810000A57800007C20AABC768B7E7ACB30.svg \
79 Growing_Liberty/Pictures/10000000000007800000043801760C0AF0E62E0B.jpg \
80 Growing_Liberty/Pictures/10000000000007800000043827B5F54D1F4F498F.jpg \
81 Growing_Liberty/Pictures/1000020100000020000002D01396E0588E1EBFBA.png \
82 Growing_Liberty/Pictures/1000020100000020000002D04D74467F50F635D0.png \
83 Growing_Liberty/Pictures/100002010000016A0000029374C9F2B8F26392AD.png \
84 Growing_Liberty/Pictures/10000201000001F000000351DA39462E363D7ED3.png \
85 Growing_Liberty/Pictures/10000201000001F10000029333ED1BC48076B5C4.png \
86 Growing_Liberty/Pictures/10000201000001F3000003548E51808DE171DA02.png \
87 Growing_Liberty/Pictures/10000201000005000000002010F5D1670B946E0C.png \
88 Growing_Liberty/Pictures/100002010000050000000020D23CB52AADBCAD4A.png \
89 Growing_Liberty/Pictures/10000C1C0000034200004A6A2C92F38BC117DD3C.svg \
90 Growing_Liberty/Pictures/10000C340000844B000003422549B923A55839CC.svg \
91 Growing_Liberty/Pictures/10000C8F0000034200004A6ABD021DA9BD39254C.svg \
92 Growing_Liberty/Pictures/10000CA90000844B000003426738F0E80CCFF9F3.svg \
93 Metropolis/Pictures/10000201000003AF000002126A94207C4902B60B.png \
94 Metropolis/Pictures/100021B200008D2E00004F60B312A649B9EEC188.svg \
95 Nature_Illustration/Pictures/10000000000004210000031931EA92AB7FB2FD6C.jpg \
96 Nature_Illustration/Pictures/100000000000042100000319892187DC121460D8.jpg \
97 Pencil/Pictures/1000020100000088000000870A26C51C993940C3.png \
98 Pencil/Pictures/100002010000037D0000001C2F14EFE8274AD9FC.png \
99 Pencil/Pictures/1000020100000402000000A2F7F509AE74DE6C69.png \
100 Piano/Pictures/100000000000035400000120266623530F1969D0.png \
101 Piano/Pictures/100002010000033A0000006EDD62437E1CC42053.png \
102 Vintage/Pictures/10000000000000580000001F99D2A38C014B254B.png \
103 Vintage/Pictures/10000201000004B000000337490AE22881331C9B.png \
104 Vintage/Pictures/10000201000004B00000033776CA70A4BFE2196B.png \
105 Vintage/Pictures/10000201000004B0000003379D1127938561C230.png \
106 Vintage/Pictures/10000201000004B000000337D99A2303560BD59C.png \
107 Yellow_Idea/Pictures/1000020100000008000000218CFF265B51917950.png \
108 Yellow_Idea/Pictures/100002010000001A0000001A21D7EADBA56038F4.png \
109 Yellow_Idea/Pictures/100002010000001A0000001A609D6B9B144132F8.png \
110 Yellow_Idea/Pictures/10000201000000210000000835496FFA25AE5DB6.png \
111 Yellow_Idea/Pictures/1000020100000021000000087A16FD8FB901FE83.png \
112 Yellow_Idea/Pictures/100002010000004100000019BACEF928CB2A84CB.png \
113 Yellow_Idea/Pictures/100002010000004D0000008BE35F31AC2914377D.png \
114 Yellow_Idea/Pictures/100002010000004E000000192EFFFDEF12FDB2A8.png \
115 Yellow_Idea/Pictures/100002010000009E000000BD075AA48B79110C47.png \
117 # param: style-base (e.g. Modern)
118 extras_PRESNT_XMLFILES_RELATIVE = $(subst $(1)/,,$(filter $(1)/%,$(extras_PRESENTATIONS_XMLFILES)))
120 .SECONDEXPANSION:
121 # secondexpansion since the patterns not just cover a filename portion, but also include a
122 # directory portion withdifferent number of elements
123 # copy regular files (mimetype, *.jpg, *.png, *.rdf, *.svg, *.svm, …)
124 $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/% : $(SRCDIR)/extras/source/templates/presnt/% \
125 | $$(dir $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/$$*).dir
126 $(call gb_Output_announce,templates/presnt/$*,$(true),CPY,1)
127 $(call gb_Trace_StartRange,templates/presnt/$*,CPY)
128 cp $< $@
129 $(call gb_Trace_EndRange,templates/presnt/$*,CPY)
131 # test and copy xml files
132 $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/%.xml : $(SRCDIR)/extras/source/templates/presnt/%.xml \
133 | $(call gb_ExternalExecutable_get_dependencies,xsltproc) \
134 $$(dir $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/$$*.xml).dir
135 $(call gb_Output_announce,templates/presnt/$*.xml,$(true),XSL,1)
136 $(call gb_Trace_StartRange,templates/presnt/$*.xml,XSL)
137 $(call gb_ExternalExecutable_get_command,xsltproc) --nonet -o $@ $(SRCDIR)/extras/util/compact.xsl $<
138 $(call gb_Trace_EndRange,templates/presnt/$*.xml,XSL)
140 # zip files to OTP
141 $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/%.otp : \
142 $$(addprefix $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/$$*/,\
143 mimetype $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) ) \
144 $$(addprefix $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/$$*/,\
145 content.xml $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) ) \
146 $$(addprefix $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/$$*/,\
147 styles.xml $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) ) \
148 $$(addprefix $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/$$*/,\
149 META-INF/manifest.xml $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) ) \
150 $$(addprefix $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/$$*/,\
151 Thumbnails/thumbnail.png $$(call extras_PRESNT_XMLFILES_RELATIVE,$$*) )
152 $(call gb_Output_announce,templates/presnt/$*.otp,$(true),ZIP,2)
153 $(call gb_Trace_StartRange,templates/presnt/$*.otp,ZIP)
154 $(call gb_Helper_abbreviate_dirs,\
155 cd $(dir $<) && \
156 zip -q0X --filesync --must-match $@ mimetype && \
157 zip -qrX --must-match $@ content.xml styles.xml META-INF/manifest.xml Thumbnails/thumbnail.png && \
158 zip -qrX --must-match $@ $(call extras_PRESNT_XMLFILES_RELATIVE,$*) \
160 $(call gb_Trace_EndRange,templates/presnt/$*.otp,ZIP)
162 # vim: set noet sw=4 ts=4: