GNULIB = ../gnulib
GNULIB_TOOL = $(GNULIB)/gnulib-tool
+PYTHON3 = python3
+
GNULIB_MODULES = \
assert \
byteswap \
crypto/rijndael \
dirname \
dtoastr \
+ dtotimespec \
environ \
fatal-signal \
fcntl \
+ fnmatch \
fpieee \
fprintf-posix \
full-read \
fwriteerror \
getline \
getpass \
- gettext \
+ gettext-h \
+ gettime \
gettimeofday \
getopt-gnu \
gitlog-to-changelog \
intprops \
inttostr \
localcharset \
+ localename \
mbchar \
mbiter \
memcasecmp \
strcasestr \
stpcpy \
strerror \
- strftime \
+ nstrftime \
strsep \
strtod \
strtok_r \
sys_stat \
tempname \
termios \
+ timespec \
+ timespec-add \
+ timespec-sub \
trunc \
unicase/u8-casecmp \
unicase/u8-casefold \
unitypes \
unlocked-io \
vasprintf-posix \
+ verify \
version-etc \
version-etc-fsf \
vfprintf-posix \
vsprintf-posix \
xalloc \
xalloc-die \
+ xbinary-io \
xmalloca \
xmemdup0 \
xsize \
xvasprintf
APP_ICONS = \
-src/ui/gui/icons/48x48/apps/pspp.png \
-src/ui/gui/icons/scalable/apps/pspp.svg
+src/ui/gui/icons/16x16/apps/org.gnu.pspp.png \
+src/ui/gui/icons/32x32/apps/org.gnu.pspp.png \
+src/ui/gui/icons/48x48/apps/org.gnu.pspp.png \
+src/ui/gui/icons/256x256/apps/org.gnu.pspp.png \
+src/ui/gui/icons/scalable/apps/org.gnu.pspp.svg
CATEGORY_ICONS = \
src/ui/gui/icons/48x48/categories/align-left.png \
src/ui/gui/icons/splash-r.png
ACTION_ICONS = \
-src/ui/gui/icons/24x24/actions/file-open-data.png \
-src/ui/gui/icons/24x24/actions/file-save-data.png \
-src/ui/gui/icons/24x24/actions/edit-go-to-variable.png \
-src/ui/gui/icons/24x24/actions/edit-go-to-case.png \
-src/ui/gui/icons/24x24/actions/edit-find.png \
-src/ui/gui/icons/24x24/actions/edit-insert-case.png \
-src/ui/gui/icons/24x24/actions/edit-insert-variable.png \
-src/ui/gui/icons/24x24/actions/data-split-file.png \
-src/ui/gui/icons/24x24/actions/data-weight-cases.png \
-src/ui/gui/icons/24x24/actions/view-value-labels.png \
-src/ui/gui/icons/48x48/actions/file-open-data.png \
-src/ui/gui/icons/48x48/actions/file-save-data.png \
-src/ui/gui/icons/48x48/actions/edit-go-to-variable.png \
-src/ui/gui/icons/48x48/actions/edit-go-to-case.png \
-src/ui/gui/icons/48x48/actions/edit-find.png \
-src/ui/gui/icons/48x48/actions/edit-insert-case.png \
-src/ui/gui/icons/48x48/actions/edit-insert-variable.png \
-src/ui/gui/icons/48x48/actions/data-split-file.png \
-src/ui/gui/icons/48x48/actions/data-weight-cases.png \
-src/ui/gui/icons/48x48/actions/view-value-labels.png \
-src/ui/gui/icons/96x96/actions/file-open-data.png \
-src/ui/gui/icons/96x96/actions/file-save-data.png \
-src/ui/gui/icons/96x96/actions/edit-go-to-variable.png \
-src/ui/gui/icons/96x96/actions/edit-go-to-case.png \
-src/ui/gui/icons/96x96/actions/edit-find.png \
-src/ui/gui/icons/96x96/actions/edit-insert-case.png \
-src/ui/gui/icons/96x96/actions/edit-insert-variable.png \
-src/ui/gui/icons/96x96/actions/data-split-file.png \
-src/ui/gui/icons/96x96/actions/data-weight-cases.png \
-src/ui/gui/icons/96x96/actions/view-value-labels.png \
-src/ui/gui/icons/scalable/actions/file-open-data.svg \
-src/ui/gui/icons/scalable/actions/file-save-data.svg \
-src/ui/gui/icons/scalable/actions/edit-go-to-variable.svg \
-src/ui/gui/icons/scalable/actions/edit-go-to-case.svg \
-src/ui/gui/icons/scalable/actions/edit-find.svg \
-src/ui/gui/icons/scalable/actions/edit-insert-case.svg \
-src/ui/gui/icons/scalable/actions/edit-insert-variable.svg \
-src/ui/gui/icons/scalable/actions/data-split-file.svg \
-src/ui/gui/icons/scalable/actions/data-weight-cases.svg \
-src/ui/gui/icons/scalable/actions/view-value-labels.svg
+src/ui/gui/icons/24x24/actions/pspp-file-open-data.png \
+src/ui/gui/icons/24x24/actions/pspp-file-save-data.png \
+src/ui/gui/icons/24x24/actions/pspp-edit-go-to-variable.png \
+src/ui/gui/icons/24x24/actions/pspp-edit-go-to-case.png \
+src/ui/gui/icons/24x24/actions/pspp-edit-find.png \
+src/ui/gui/icons/24x24/actions/pspp-edit-insert-case.png \
+src/ui/gui/icons/24x24/actions/pspp-edit-insert-variable.png \
+src/ui/gui/icons/24x24/actions/pspp-data-split-file.png \
+src/ui/gui/icons/24x24/actions/pspp-data-weight-cases.png \
+src/ui/gui/icons/24x24/actions/pspp-view-value-labels.png \
+src/ui/gui/icons/48x48/actions/pspp-file-open-data.png \
+src/ui/gui/icons/48x48/actions/pspp-file-save-data.png \
+src/ui/gui/icons/48x48/actions/pspp-edit-go-to-variable.png \
+src/ui/gui/icons/48x48/actions/pspp-edit-go-to-case.png \
+src/ui/gui/icons/48x48/actions/pspp-edit-find.png \
+src/ui/gui/icons/48x48/actions/pspp-edit-insert-case.png \
+src/ui/gui/icons/48x48/actions/pspp-edit-insert-variable.png \
+src/ui/gui/icons/48x48/actions/pspp-data-split-file.png \
+src/ui/gui/icons/48x48/actions/pspp-data-weight-cases.png \
+src/ui/gui/icons/48x48/actions/pspp-view-value-labels.png \
+src/ui/gui/icons/96x96/actions/pspp-file-open-data.png \
+src/ui/gui/icons/96x96/actions/pspp-file-save-data.png \
+src/ui/gui/icons/96x96/actions/pspp-edit-go-to-variable.png \
+src/ui/gui/icons/96x96/actions/pspp-edit-go-to-case.png \
+src/ui/gui/icons/96x96/actions/pspp-edit-find.png \
+src/ui/gui/icons/96x96/actions/pspp-edit-insert-case.png \
+src/ui/gui/icons/96x96/actions/pspp-edit-insert-variable.png \
+src/ui/gui/icons/96x96/actions/pspp-data-split-file.png \
+src/ui/gui/icons/96x96/actions/pspp-data-weight-cases.png \
+src/ui/gui/icons/96x96/actions/pspp-view-value-labels.png \
+src/ui/gui/icons/scalable/actions/pspp-file-open-data.svg \
+src/ui/gui/icons/scalable/actions/pspp-file-save-data.svg \
+src/ui/gui/icons/scalable/actions/pspp-edit-go-to-variable.svg \
+src/ui/gui/icons/scalable/actions/pspp-edit-go-to-case.svg \
+src/ui/gui/icons/scalable/actions/pspp-edit-find.svg \
+src/ui/gui/icons/scalable/actions/pspp-edit-insert-case.svg \
+src/ui/gui/icons/scalable/actions/pspp-edit-insert-variable.svg \
+src/ui/gui/icons/scalable/actions/pspp-data-split-file.svg \
+src/ui/gui/icons/scalable/actions/pspp-data-weight-cases.svg \
+src/ui/gui/icons/scalable/actions/pspp-view-value-labels.svg
ICONS=$(CATEGORY_ICONS) $(ACTION_ICONS) $(MIMETYPE_ICONS) $(APP_ICONS) $(MISC_ICONS)
$(MAKE) -f Smake Makefile.in configure
icons: $(ICONS)
+clean-icons:
+ rm -f $(ICONS)
+.PHONY: icons clean-icons
src/ui/gui/icons/manifest: $(MAKEFILE_LIST)
$(RM) $@
echo >> $@
-src/ui/gui/resources.xml: $(ICONS)
+src/ui/gui/resources.xml: $(MAKEFILE_LIST)
printf '<?xml version="1.0" encoding="UTF-8"?>\n' > $@
printf '<gresources>\n' >> $@
- printf ' <gresource prefix="gnu/pspp">\n' >> $@
- for x in $^; do \
+ printf ' <gresource prefix="org/gnu/pspp">\n' >> $@
+ for x in $(ICONS); do \
z=`echo "$$x" | sed -e 's%src/ui/gui/%%'` ; \
printf " <file>$$z</file>\n" >> $@ ; \
done
test -e ChangeLog || touch ChangeLog
test -d m4 || mkdir m4
touch m4/Makefile.am
+ touch build-aux/config.rpath
$(GNULIB_TOOL) --add-import --no-changelog --m4-base=gl/m4 \
--source-base=gl --lib=libgl --tests-base=tests \
- --doc-base=gl/doc --aux-dir=build-aux \
+ --doc-base=gl/doc --aux-dir=build-aux \
+ --makefile-name=automake.mk --automake-subdir \
--libtool $(GNULIB_MODULES)
if (glibtoolize --version) >/dev/null 2>&1; then \
LIBTOOLIZE=glibtoolize; \
po/insert-header.sin po/quot.sed po/remove-potcdate.sin po/stamp-po \
po/Makevars.template po/pspp.pot
-clean:
+clean: clean-icons
rm -f config.sub config.guess config.rpath
rm -fr autom4te.cache
rm -f aclocal.m4
rm -f config.h.in~
rm -f config.h.in
rm -f gl/Makefile.in
+ rm -f gl/automake.mk
rm -f Makefile.in
rm -f build-aux/compile
rm -f build-aux/ltmain.sh
.PHONY: all gettextize clean
-# The "convert" program from imagemagick can be used to create png from svg but doesn't properly deal
-# with the alpha channels. Therefore, it is not recommended for production pspp builds, but might
-# be useful to get something working on a platform which doesn't have a working gimp.
-
-#svg2png=convert -background transparent $1 $3
-
# Graphical layout of icons and our portfolio
# ===========================================
#
# => all others are in scaled (just one design svg)
#
+SVG2PNG = PYTHON3='$(PYTHON3)' build-aux/svg2png
+
# Rule for icons with size dependent graphical design
src/ui/gui/icons/%.png: src/ui/gui/artwork/%.svg build-aux/svg2png src/ui/gui/icons/COPYING_CCBYSA3
mkdir -p $(dir $@)
- build-aux/svg2png "$<" "$(lastword $^)" "$@"
+ $(SVG2PNG) "$<" "$(lastword $^)" "$@"
# Rules for icons which are simply scaled - Attention multitarget would trigger only once...
src/ui/gui/icons/16x16/%.png : src/ui/gui/artwork/scalable/%.svg build-aux/svg2png src/ui/gui/icons/COPYING_CCBYSA3
mkdir -p $(dir $@)
- build-aux/svg2png "$<" "$(lastword $^)" "$@"
+ $(SVG2PNG) "$<" "$(lastword $^)" "$@"
src/ui/gui/icons/22x22/%.png : src/ui/gui/artwork/scalable/%.svg build-aux/svg2png src/ui/gui/icons/COPYING_CCBYSA3
mkdir -p $(dir $@)
- build-aux/svg2png "$<" "$(lastword $^)" "$@"
+ $(SVG2PNG) "$<" "$(lastword $^)" "$@"
src/ui/gui/icons/24x24/%.png : src/ui/gui/artwork/scalable/%.svg build-aux/svg2png src/ui/gui/icons/COPYING_CCBYSA3
mkdir -p $(dir $@)
- build-aux/svg2png "$<" "$(lastword $^)" "$@"
+ $(SVG2PNG) "$<" "$(lastword $^)" "$@"
src/ui/gui/icons/32x32/%.png : src/ui/gui/artwork/scalable/%.svg build-aux/svg2png src/ui/gui/icons/COPYING_CCBYSA3
mkdir -p $(dir $@)
- build-aux/svg2png "$<" "$(lastword $^)" "$@"
+ $(SVG2PNG) "$<" "$(lastword $^)" "$@"
src/ui/gui/icons/48x48/%.png : src/ui/gui/artwork/scalable/%.svg build-aux/svg2png src/ui/gui/icons/COPYING_CCBYSA3
mkdir -p $(dir $@)
- build-aux/svg2png "$<" "$(lastword $^)" "$@"
+ $(SVG2PNG) "$<" "$(lastword $^)" "$@"
src/ui/gui/icons/96x96/%.png : src/ui/gui/artwork/scalable/%.svg build-aux/svg2png src/ui/gui/icons/COPYING_CCBYSA3
mkdir -p $(dir $@)
- build-aux/svg2png "$<" "$(lastword $^)" "$@"
+ $(SVG2PNG) "$<" "$(lastword $^)" "$@"
src/ui/gui/icons/256x256/%.png : src/ui/gui/artwork/scalable/%.svg build-aux/svg2png src/ui/gui/icons/COPYING_CCBYSA3
mkdir -p $(dir $@)
- build-aux/svg2png "$<" "$(lastword $^)" "$@"
+ $(SVG2PNG) "$<" "$(lastword $^)" "$@"
# Copy svg
src/ui/gui/icons/%.svg: src/ui/gui/artwork/%.svg