Add Makefile with install target for distro packaging
This commit is contained in:
58
Makefile
Normal file
58
Makefile
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
PREFIX ?= /usr/local
|
||||||
|
DESTDIR ?=
|
||||||
|
BINDIR = $(PREFIX)/bin
|
||||||
|
DATADIR = $(PREFIX)/share
|
||||||
|
|
||||||
|
ICON_DATA = outlay-gtk/data/icons
|
||||||
|
DESKTOP_FILE = outlay-gtk/data/com.outlay.app.desktop
|
||||||
|
METAINFO_FILE = outlay-gtk/data/com.outlay.app.metainfo.xml
|
||||||
|
SCHEMA_FILE = outlay-gtk/data/com.outlay.app.gschema.xml
|
||||||
|
|
||||||
|
.PHONY: build install uninstall
|
||||||
|
|
||||||
|
build:
|
||||||
|
cargo build --release -p outlay-gtk
|
||||||
|
|
||||||
|
install: build
|
||||||
|
install -Dm755 target/release/outlay-gtk $(DESTDIR)$(BINDIR)/outlay-gtk
|
||||||
|
|
||||||
|
# Desktop file
|
||||||
|
install -Dm644 $(DESKTOP_FILE) $(DESTDIR)$(DATADIR)/applications/com.outlay.app.desktop
|
||||||
|
|
||||||
|
# AppStream metainfo
|
||||||
|
install -Dm644 $(METAINFO_FILE) $(DESTDIR)$(DATADIR)/metainfo/com.outlay.app.metainfo.xml
|
||||||
|
|
||||||
|
# GSettings schema
|
||||||
|
install -Dm644 $(SCHEMA_FILE) $(DESTDIR)$(DATADIR)/glib-2.0/schemas/com.outlay.app.gschema.xml
|
||||||
|
|
||||||
|
# App icons (raster sizes)
|
||||||
|
for size_dir in $(ICON_DATA)/hicolor/*/apps; do \
|
||||||
|
size=$$(basename "$$(dirname "$$size_dir")"); \
|
||||||
|
for icon in "$$size_dir"/com.outlay.app.*; do \
|
||||||
|
[ -f "$$icon" ] || continue; \
|
||||||
|
install -Dm644 "$$icon" $(DESTDIR)$(DATADIR)/icons/hicolor/$$size/apps/$$(basename "$$icon"); \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
|
# Scalable action icons (outlay custom + tabler)
|
||||||
|
for svg in $(ICON_DATA)/hicolor/scalable/actions/outlay-*.svg \
|
||||||
|
$(ICON_DATA)/hicolor/scalable/actions/tabler-*.svg; do \
|
||||||
|
[ -f "$$svg" ] || continue; \
|
||||||
|
install -Dm644 "$$svg" $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/actions/$$(basename "$$svg"); \
|
||||||
|
done
|
||||||
|
|
||||||
|
# Bundled fonts
|
||||||
|
for ttf in outlay-gtk/data/fonts/*.ttf; do \
|
||||||
|
[ -f "$$ttf" ] || continue; \
|
||||||
|
install -Dm644 "$$ttf" $(DESTDIR)$(DATADIR)/fonts/outlay/$$(basename "$$ttf"); \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
rm -f $(DESTDIR)$(BINDIR)/outlay-gtk
|
||||||
|
rm -f $(DESTDIR)$(DATADIR)/applications/com.outlay.app.desktop
|
||||||
|
rm -f $(DESTDIR)$(DATADIR)/metainfo/com.outlay.app.metainfo.xml
|
||||||
|
rm -f $(DESTDIR)$(DATADIR)/glib-2.0/schemas/com.outlay.app.gschema.xml
|
||||||
|
rm -rf $(DESTDIR)$(DATADIR)/icons/hicolor/*/apps/com.outlay.app.*
|
||||||
|
rm -rf $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/actions/outlay-*.svg
|
||||||
|
rm -rf $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/actions/tabler-*.svg
|
||||||
|
rm -rf $(DESTDIR)$(DATADIR)/fonts/outlay
|
||||||
Reference in New Issue
Block a user