xref: /trunk/main/sysui/desktop/share/makefile.mk (revision fb181f5a)
1#**************************************************************
2#
3#  Licensed to the Apache Software Foundation (ASF) under one
4#  or more contributor license agreements.  See the NOTICE file
5#  distributed with this work for additional information
6#  regarding copyright ownership.  The ASF licenses this file
7#  to you under the Apache License, Version 2.0 (the
8#  "License"); you may not use this file except in compliance
9#  with the License.  You may obtain a copy of the License at
10#
11#    http://www.apache.org/licenses/LICENSE-2.0
12#
13#  Unless required by applicable law or agreed to in writing,
14#  software distributed under the License is distributed on an
15#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16#  KIND, either express or implied.  See the License for the
17#  specific language governing permissions and limitations
18#  under the License.
19#
20#**************************************************************
21
22
23
24PRJ=..$/..
25
26PRJNAME=sysui
27TARGET=desktopshare
28
29# --- Settings -----------------------------------------------------
30
31.INCLUDE :  settings.mk
32
33# --- Product Version Information ----------------------------------
34
35.INCLUDE :  ../productversion.mk
36
37# --- Files --------------------------------------------------------
38
39.IF "$(WITH_LANG)"!=""
40ULFDIR:=$(COMMONMISC)$/$(TARGET)
41.ELSE			# "$(WITH_LANG)"!=""
42ULFDIR:=.
43.ENDIF			# "$(WITH_LANG)"!=""
44
45ULFFILES= \
46	documents.ulf \
47	launcher_comment.ulf \
48	launcher_genericname.ulf \
49	launcher_name.ulf
50
51LAUNCHERLIST = writer calc draw impress math base printeradmin qstart startcenter javafilter
52LAUNCHERDEPN = ../menus/{$(LAUNCHERLIST)}.desktop
53
54LAUNCHERFLAGFILE = $(COMMONMISC)/$(TARGET)/xdg.flag
55
56MIMELIST = \
57	text \
58	text-template \
59	spreadsheet \
60	spreadsheet-template \
61	drawing \
62	drawing-template \
63	presentation \
64	presentation-template \
65	formula \
66	master-document \
67	oasis-text \
68	oasis-text-template \
69	oasis-spreadsheet \
70	oasis-spreadsheet-template \
71	oasis-drawing \
72	oasis-drawing-template \
73	oasis-presentation \
74	oasis-presentation-template \
75	oasis-formula \
76	oasis-master-document \
77	oasis-database \
78	oasis-web-template \
79	ms-excel-sheet-12 \
80	ms-excel-sheet \
81	ms-excel-template-12 \
82	ms-powerpoint-presentation-12 \
83	ms-powerpoint-presentation \
84	ms-powerpoint-template-12 \
85	ms-word-document-12 \
86	ms-word-document \
87	ms-word-document2 \
88	ms-word-template-12 \
89	openxmlformats-officedocument-presentationml-presentation \
90	openxmlformats-officedocument-presentationml-template \
91	openxmlformats-officedocument-spreadsheetml-sheet \
92	openxmlformats-officedocument-spreadsheetml-template \
93	openxmlformats-officedocument-wordprocessingml-document \
94	openxmlformats-officedocument-wordprocessingml-template \
95	ms-excel-sheet-binary-12	\
96	extension
97
98MIMEICONLIST = \
99	oasis-text \
100	oasis-text-template \
101	oasis-spreadsheet \
102	oasis-spreadsheet-template \
103	oasis-drawing \
104	oasis-drawing-template \
105	oasis-presentation \
106	oasis-presentation-template \
107	oasis-formula \
108	oasis-master-document \
109	oasis-database \
110	oasis-web-template \
111	text \
112	text-template \
113	spreadsheet \
114	spreadsheet-template \
115	drawing \
116	drawing-template \
117	presentation \
118	presentation-template \
119	formula \
120	master-document \
121	database \
122	extension
123
124ICONDEPN = \
125	../icons/hicolor/{16x16 32x32 48x48 128x128}/apps/{$(LAUNCHERLIST:s/qstart//:s/javafilter//)}.png \
126	../icons/hicolor/{16x16 32x32 48x48 128x128}/mimetypes/{$(MIMEICONLIST)}.png \
127	../icons/locolor/{16x16 32x32}/apps/{$(LAUNCHERLIST:s/qstart//:s/javafilter//)}.png \
128	../icons/locolor/{16x16 32x32}/mimetypes/{$(MIMEICONLIST)}.png
129
130# --- Targets ------------------------------------------------------
131
132.INCLUDE :  target.mk
133
134.IF "$(GUI)"=="UNX"
135ALLTAR : $(LAUNCHERFLAGFILE) $(SPECFILES) $(COMMONMISC)$/{$(PRODUCTLIST)}$/build.flag
136
137.ENDIF          # "$(GUI)"=="UNIX"
138
139#
140# Copy/patch the .desktop files to the output tree and
141# merge-in the translations.
142#
143
144$(LAUNCHERFLAGFILE) : ../productversion.mk brand.pl translate.pl $(ULFDIR)$/launcher_name.ulf $(ULFDIR)$/launcher_comment.ulf $(ULFDIR)/launcher_genericname.ulf
145$(LAUNCHERFLAGFILE) : $(LAUNCHERDEPN)
146	@@-$(MKDIRHIER) $(@:db).$(INPATH).$(@:f)
147	@echo Creating desktop entries for $(@:f) ..
148	@echo ---------------------------------
149	@$(PERL) brand.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -u $(UNIXWRAPPERNAME) --iconprefix '$${{WITHOUTDOTUNIXPRODUCTNAME}}${ICONVERSION}-' $< $(@:db).$(INPATH).$(@:f)
150	@$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "Name" $(ULFDIR)$/launcher_name.ulf
151	@$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "Comment" $(ULFDIR)$/launcher_comment.ulf
152	@$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "GenericName" $(ULFDIR)$/launcher_genericname.ulf
153	@$(MV) -f $(@:db).$(INPATH).$(@:f)/* $(@:d)
154	@rmdir $(@:db).$(INPATH).$(@:f)
155	@touch $@
156
157#
158# Create shared mime info xml file
159#
160$(COMMONMISC)$/{$(PRODUCTLIST)}$/apacheopenoffice.xml : ../mimetypes/{$(MIMELIST)}.desktop create_mime_xml.pl
161$(COMMONMISC)$/{$(PRODUCTLIST)}$/apacheopenoffice.xml : $(ULFDIR)$/documents.ulf
162	@echo Create shared mime info xml file ..
163	@echo ---------------------------------
164	@$(PERL) create_mime_xml.pl $< > $@.$(INPATH)
165	@mv -f $@.$(INPATH) $@
166
167#
168# Create GNOME mime-info files
169#
170
171$(COMMONMISC)$/{$(PRODUCTLIST)}$/openoffice.keys : ../mimetypes/openoffice.mime brand.pl translate.pl ../productversion.mk $(ULFDIR)$/documents.ulf
172$(COMMONMISC)$/{$(PRODUCTLIST)}$/openoffice.keys : ../mimetypes/{$(MIMELIST)}.keys
173	@@-$(MKDIRHIER) $(@:d)
174	@echo Creating GNOME .keys file for $(@:d:d:f) ..
175	@echo ---------------------------------
176	@$(PERL) brand.pl -p "$(PRODUCTNAME.$(@:d:d:f))" -u $(UNIXFILENAME.$(@:d:d:f)) --iconprefix "$(ICONPREFIX.$(@:d:d:f))-" $< $(MISC)/$(@:d:d:f)
177	@$(PERL) translate.pl -p "$(PRODUCTNAME.$(@:d:d:f))" -d $(MISC)/$(@:d:d:f) --ext "keys" --key "description" $(ULFDIR)$/documents.ulf
178	@cat $(MISC)/$(@:d:d:f)/{$(MIMELIST)}.keys > $@.$(INPATH)
179	@mv -f $@.$(INPATH) $@
180
181$(COMMONMISC)$/{$(PRODUCTLIST)}$/openoffice.mime : ../mimetypes/$$(@:f)
182	@@-$(MKDIRHIER) $(@:d)
183	@echo Creating GNOME .mime file for $(@:d:d:f) ..
184	@echo ---------------------------------
185	@cat $< | tr -d "\015" > $@.$(INPATH)
186	@mv -f $@.$(INPATH) $@
187
188$(COMMONMISC)$/{$(PRODUCTLIST)}$/openoffice.applications : ../productversion.mk
189$(COMMONMISC)$/{$(PRODUCTLIST)}$/openoffice.applications : ../mimetypes/$$(@:f)
190	@@-$(MKDIRHIER) $(@:d)
191	@echo Creating GNOME .applications file for $(@:d:d:f) ..
192	@echo ---------------------------------
193	@cat $< | tr -d "\015" | sed -e "s/OFFICENAME/$(UNIXFILENAME.$(@:d:d:f))/" -e "s/%PRODUCTNAME/$(PRODUCTNAME.$(@:d:d:f)) $(PRODUCTVERSION.$(@:d:d:f))/" > $@.$(INPATH)
194	@mv -f $@.$(INPATH) $@
195
196#
197# Create KDE mimelnk files
198#
199$(COMMONMISC)$/{$(PRODUCTLIST)}$/mimelnklist : brand.pl translate.pl ../productversion.mk $(ULFDIR)$/documents.ulf
200$(COMMONMISC)$/{$(PRODUCTLIST)}$/mimelnklist : ../mimetypes/{$(MIMELIST)}.desktop
201	@@-$(MKDIRHIER) $(@:db).$(INPATH)
202	@echo Creating KDE mimelnk entries for $(@:d:d:f) ..
203	@echo ---------------------------------
204	@$(PERL) brand.pl -p "$(PRODUCTNAME.$(@:d:d:f))" -u $(UNIXFILENAME.$(@:d:d:f)) --iconprefix "$(ICONPREFIX.$(@:d:d:f))-" $< $(@:db).$(INPATH)
205	@$(PERL) ../share/translate.pl -p "$(PRODUCTNAME.$(@:d:d:f))" -d $(@:db).$(INPATH) --ext "desktop" --key "Comment" $(ULFDIR)$/documents.ulf
206	@mv -f $(@:db).$(INPATH)/* $(@:d)
207	@rmdir $(@:db).$(INPATH)
208	@echo  "{$(MIMELIST)}.desktop" > $@
209
210#
211# Generate customized install scripts
212#
213$(COMMONMISC)$/{$(PRODUCTLIST)}$/create_tree.sh : makefile.mk
214$(COMMONMISC)$/{$(PRODUCTLIST)}$/create_tree.sh : $$(@:f)
215	@@-$(MKDIRHIER) $(@:d)
216	@echo "#\!/bin/sh" > $@.$(INPATH)
217	@echo "PREFIX=$(UNIXFILENAME.$(@:d:d:f))" >> $@.$(INPATH)
218	@echo "ICON_PREFIX=$(ICONPREFIX.$(@:d:d:f))" >> $@.$(INPATH)
219	@echo "ICON_SOURCE_DIR=../../../desktop/icons" >> $@.$(INPATH)
220	@cat $< >> $@.$(INPATH)
221	@chmod 774 $@.$(INPATH)
222	@mv -f $@.$(INPATH) $@
223
224#
225# Create skript files
226#
227
228$(COMMONMISC)$/{$(PRODUCTLIST)}$/{openoffice printeradmin}.sh : ../productversion.mk
229$(COMMONMISC)$/{$(PRODUCTLIST)}$/{openoffice printeradmin}.sh : $$(@:f)
230	@@-$(MKDIRHIER) $(@:d)
231	@cat $< | tr -d "\015" | sed -e "s/%PREFIX/$(UNIXFILENAME.$(@:d:d:f))/g" > $@.$(INPATH)
232	@mv -f $@.$(INPATH) $@
233
234#
235# Launcher list
236#
237
238$(COMMONMISC)$/{$(PRODUCTLIST)}$/launcherlist : $(LAUNCHERDEPN)
239	@@-$(MKDIRHIER) $(@:d)
240	@echo "{$(LAUNCHERLIST:s/qstart//)}.desktop" >$@.$(INPATH)
241	@mv -f $@.$(INPATH) $@
242
243#
244# Flagfile
245#
246$(COMMONMISC)$/{$(PRODUCTLIST)}$/build.flag : $(ICONDEPN) \
247	$(COMMONMISC)$/{$(PRODUCTLIST)}$/launcherlist \
248	$(COMMONMISC)$/{$(PRODUCTLIST)}$/mimelnklist \
249	$(COMMONMISC)$/{$(PRODUCTLIST)}$/create_tree.sh \
250	$(COMMONMISC)$/{$(PRODUCTLIST)}$/openoffice.keys \
251	$(COMMONMISC)$/{$(PRODUCTLIST)}$/openoffice.mime \
252	$(COMMONMISC)$/{$(PRODUCTLIST)}$/apacheopenoffice.xml	\
253	$(COMMONMISC)$/{$(PRODUCTLIST)}$/openoffice.applications \
254	$(COMMONMISC)$/{$(PRODUCTLIST)}$/{openoffice printeradmin}.sh
255	@touch $@
256
257