aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJames Tomasino <james@tomasino.org>2020-06-11 11:25:15 +0000
committerJames Tomasino <james@tomasino.org>2020-06-11 11:25:15 +0000
commit4b860e437ae9a58fc8fa086c3f3fc08c5a7f7586 (patch)
tree6bb446afa54e30ba61fb1f40ae66c878d5aba228 /Makefile
parente8d1839a0d24d29c4d370ee1210d44d58b39129e (diff)
downloadkristall-4b860e437ae9a58fc8fa086c3f3fc08c5a7f7586.tar.gz
overhaul of Makefile for clean install with desktop file and icons
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile35
1 files changed, 30 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index f6594f0..9052d51 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,16 @@
-PREFIX ?= /usr/local
-BINDIR ?= $(DESTDIR)$(PREFIX)/bin
+# Install to /usr/local unless otherwise specified, such as `make PREFIX=/app`
+PREFIX=/usr/local
-default: all
-all: kristall
+# What to run to install various files
+INSTALL=install -D
+# Run to install the actual binary
+INSTALL_PROGRAM=$(INSTALL)
+# Run to install application data, with differing permissions
+INSTALL_DATA=$(INSTALL) -m 644
+
+# Directories into which to install the various files
+bindir=$(DESTDIR)$(PREFIX)/bin
+sharedir=$(DESTDIR)$(PREFIX)/share
kristall: build/kristall
cp build/kristall $@
@@ -12,7 +20,24 @@ build/kristall:
cd build && qmake ../src/kristall.pro && $(MAKE)
install: kristall
- install -m 755 ./kristall $(BINDIR)/kristall
+ # Install icons
+ $(INSTALL_DATA) src/icons/kristall.svg $(sharedir)/icons/hicolor/scalable/apps/net.random-projects.kristall.svg
+ $(INSTALL_DATA) src/icons/kristall-16.png $(sharedir)/icons/hicolor/16x16/apps/net.random-projects.kristall.png
+ $(INSTALL_DATA) src/icons/kristall-32.png $(sharedir)/icons/hicolor/32x32/apps/net.random-projects.kristall.png
+ $(INSTALL_DATA) src/icons/kristall-64.png $(sharedir)/icons/hicolor/64x64/apps/net.random-projects.kristall.png
+ $(INSTALL_DATA) src/icons/kristall-128.png $(sharedir)/icons/hicolor/128x128/apps/net.random-projects.kristall.png
+ $(INSTALL_DATA) Kristall.desktop $(sharedir)/applications/Kristall.desktop
+ $(INSTALL_PROGRAM) kristall $(bindir)/kristall
+
+uninstall:
+ # Remove the .desktop
+ rm -f $(sharedir)/applications/Kristall.desktop
+ # Remove the icons
+ rm -f $(sharedir)/icons/hicolor/scalable/apps/net.random-projects.kristall.png
+ rm -f $(sharedir)/icons/hicolor/*x*/apps/net.random-projects.kristall.png
+ # Remove the binary
+ rm -f $(bindir)/kristall
+
clean:
rm -rf build