PREFIX ?= $(HOME)/.local BINDIR = $(PREFIX)/bin APPDIR = $(PREFIX)/share/applications ICONDIR = $(PREFIX)/share/icons/hicolor/scalable/apps ID = local.skylar.Orrery BIN = orrery UNAME := $(shell uname -s) build: cargo build --release --locked run: cargo run --release --locked # Plain mkdir and install -m, not install -D, which macOS's install lacks. # The apps-menu launcher is for Linux desktops only; launchers don't search # ~/.local/bin, so its Exec gets the full path. install: build mkdir -p $(BINDIR) install -m 755 target/release/$(BIN) $(BINDIR)/$(BIN) ifneq ($(UNAME),Darwin) mkdir -p $(ICONDIR) $(APPDIR) install -m 644 data/$(ID).svg $(ICONDIR)/$(ID).svg sed 's|@BINDIR@|$(BINDIR)|' data/$(ID).desktop > $(APPDIR)/$(ID).desktop endif uninstall: rm -f $(BINDIR)/$(BIN) $(ICONDIR)/$(ID).svg $(APPDIR)/$(ID).desktop .PHONY: build run install uninstall