1%canon_reldir%_EXTRA_DIST =
2
3%canon_reldir%_CLEANFILES =
4%canon_reldir%_DISTCLEANFILES =
5%canon_reldir%_MAINTAINERCLEANFILES =
6
7%canon_reldir%_EXTRA_DIST += \
8  %reldir%/NEWS.1 \
9  %reldir%/NEWS.2 \
10  %reldir%/NEWS.3 \
11  %reldir%/NEWS.4 \
12  %reldir%/NEWS.5 \
13  %reldir%/PROJECTS \
14  %reldir%/gdbinit
15
16%canon_reldir%_EXTRA_DIST += \
17  %reldir%/OLD-ChangeLogs/ChangeLog \
18  %reldir%/OLD-ChangeLogs/ChangeLog.1 \
19  %reldir%/OLD-ChangeLogs/doc-ChangeLog \
20  %reldir%/OLD-ChangeLogs/libcruft-ChangeLog \
21  %reldir%/OLD-ChangeLogs/liboctave-ChangeLog \
22  %reldir%/OLD-ChangeLogs/scripts-ChangeLog \
23  %reldir%/OLD-ChangeLogs/src-ChangeLog \
24  %reldir%/OLD-ChangeLogs/test-ChangeLog
25
26fallback_FONT_FILES = \
27  %reldir%/fonts/FreeSans.otf \
28  %reldir%/fonts/FreeSansBold.otf \
29  %reldir%/fonts/FreeSansBoldOblique.otf \
30  %reldir%/fonts/FreeSansOblique.otf
31
32if AMCOND_INSTALL_INTERNAL_FONT_FILES
33octfonts_DATA += \
34  $(fallback_FONT_FILES)
35endif
36
37%canon_reldir%_EXTRA_DIST += \
38  $(fallback_FONT_FILES)
39
40appdatadir = $(datadir)/metainfo
41
42APPDATA_XML_FILE := \
43  %reldir%/icons/org.octave.Octave.appdata.xml
44
45appdata_DATA = $(APPDATA_XML_FILE)
46
47desktopdir = $(datadir)/applications
48
49desktop_DATA = \
50  %reldir%/icons/org.octave.Octave.desktop
51
52icon_IMAGE_FILES = \
53  %reldir%/icons/octave-logo.svg \
54  %reldir%/icons/octave-sombrero.png
55
56icon_PNG_SIZES = \
57  1024 \
58  512 \
59  256 \
60  128 \
61  64 \
62  48 \
63  32 \
64  24 \
65  22 \
66  16
67
68BUILT_PNG_ICONS = $(patsubst %,%reldir%/icons/octave-logo-%.png,$(icon_PNG_SIZES))
69
70WINDOWS_PNG_ICONS = $(filter %-16.png %-32.png %-48.png %-256.png,$(BUILT_PNG_ICONS))
71
72BUILT_ICONS = \
73  $(BUILT_PNG_ICONS) \
74  %reldir%/icons/octave-logo.ico
75
76%canon_reldir%_EXTRA_DIST += \
77  $(BUILT_ICONS) \
78  $(icon_IMAGE_FILES) \
79  %reldir%/icons/octave_branding_samples.svg \
80  %reldir%/icons/org.octave.Octave.appdata.xml \
81  %reldir%/icons/org.octave.Octave.desktop.in
82
83image_DATA += \
84  $(icon_IMAGE_FILES) \
85  %reldir%/icons/octave-logo.ico
86
87DIRSTAMP_FILES += \
88  %reldir%/icons/$(octave_dirstamp)
89
90all-local: all-icons
91
92all-icons: %reldir%/icons/org.octave.Octave.desktop $(BUILT_ICONS)
93
94%reldir%/icons/org.octave.Octave.desktop: %reldir%/icons/org.octave.Octave.desktop.in | %reldir%/icons/$(octave_dirstamp)
95	$(AM_V_GEN)rm -f $@-t $@ && \
96	$(SED) < $< > $@-t \
97	  -e "s|%OCTAVE_PREFIX%|${prefix}|" && \
98	mv $@-t $@
99
100$(BUILT_PNG_ICONS): %reldir%/icons/octave-logo.svg | %reldir%/icons/$(octave_dirstamp)
101	$(AM_V_GEN)rm -f $@-t $@ && \
102	$(RSVG_CONVERT) -w $(lastword $(subst -, ,$(patsubst %.png,%,$@))) $< > $@-t && \
103	mv $@-t $@
104
105%reldir%/icons/octave-logo.ico: $(WINDOWS_PNG_ICONS) | %reldir%/icons/$(octave_dirstamp)
106	$(AM_V_GEN)rm -f $@-t $@ && \
107	$(ICOTOOL) --create --raw  $(WINDOWS_PNG_ICONS) > $@-t && \
108	mv $@-t $@
109
110## Check that the release date and version number are in
111## $(APPDATA_XML_FILE), but only for actual releases, which means
112## we skip the test if the minor version number is 0 or the patch
113## version number is not 0.
114
115appdata-dist-hook:
116	@test x"$(DIST_IGNORE_APPDATA_VERSION)" != x || \
117	 test $(OCTAVE_MINOR_VERSION) -eq 0 || \
118	 test $(OCTAVE_PATCH_VERSION) -ne 0 || \
119	 grep "<release *date=\"$(OCTAVE_RELEASE_DATE)\" *version=\"$(OCTAVE_VERSION)\"/>" $(srcdir)/$(APPDATA_XML_FILE) > /dev/null || \
120	{ echo; \
121	  echo "Packaging distribution requires the version number in the $(APPDATA_XML_FILE)."; \
122	  echo "Please update first or pass DIST_IGNORE_APPDATA_VERSION=1."; \
123	  echo "Cannot package distribution!"; \
124	  echo; exit 1; }
125.PHONY: appdata-dist-hook
126
127install-data-local: install-icons
128
129uninstall-local: uninstall-icons
130
131install-icons:
132	for f in $(BUILT_PNG_ICONS); do \
133	  size=`echo $$f | $(SED) -n -e "s/.*-\([0-9]\+\)\.png/\1/p"`; \
134	  if test -f $$f; then d=; else d="$(srcdir)/"; fi; \
135	  $(MKDIR_P) $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/apps; \
136	  $(INSTALL_DATA) "$$d$$f" $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/apps/octave.png; \
137	done
138	$(MKDIR_P) $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps
139	$(INSTALL_DATA) $(srcdir)/%reldir%/icons/octave-logo.svg $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps/octave.svg
140
141uninstall-icons:
142	for f in $(BUILT_PNG_ICONS); do \
143	  size=`echo $$f | $(SED) -n -e "s/.*-\([0-9]\+\)\.png/\1/p"`; \
144	  rm -f $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/apps/octave.png; \
145	done
146	rm -f $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps/octave.svg
147
148EXTRA_DIST += $(%canon_reldir%_EXTRA_DIST)
149
150%canon_reldir%_CLEANFILES += \
151  %reldir%/icons/org.octave.Octave.desktop
152
153%canon_reldir%_MAINTAINERCLEANFILES += \
154  $(BUILT_ICONS)
155
156CLEANFILES += $(%canon_reldir%_CLEANFILES)
157DISTCLEANFILES += $(%canon_reldir%_DISTCLEANFILES)
158MAINTAINERCLEANFILES += $(%canon_reldir%_MAINTAINERCLEANFILES)
159
160etc-clean:
161	rm -f $(%canon_reldir%_CLEANFILES)
162
163etc-distclean: etc-clean
164	rm -f $(%canon_reldir%_DISTCLEANFILES)
165
166etc-maintainer-clean: etc-distclean
167	rm -f $(%canon_reldir%_MAINTAINERCLEANFILES)
168