summaryrefslogtreecommitdiff
path: root/Makefile
blob: 0e2ecc5c7e513b143a1595214aa27911fef26022 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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