summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorskylar <me@casper>2026-11-11 15:24:37 -0800
committerskylar <me@casper>2026-11-11 15:24:37 -0800
commit9ccf951473e21a8b90c25161156fa09a9b227a7b (patch)
treee7bd9858a4cdbc5ae50069db8ca0cf868e436dec /Makefile
parentd36c54d996f3c14ae811312dbbe621e12a39edde (diff)
Orrery 0.1.0: the galaxy, flight, cities, inventory and saves
Grows the derelict crawler into the whole game, and gets it ready to publish. - A galaxy of star systems joined by lanes, split between four peoples' territories, with a star map and a system map. Systems are modelled with Kepler orbits, moons inside their Hill spheres, belts past the frost line and stations at Lagrange points. - Flight around one place at a time: arcade flight with a throttle fallback where held keys can't be detected, mining rocks for ore, landing, docking at stations, and boarding wrecks that come and go by the calendar. - Your ship to walk about, and capital cities to land at: generated plans with walls, quarters and streets, building interiors, shops, taverns, scholars and armourers. - Fighting with a weapon and a gun ready, six damage types and how each monster takes them, and armour that guards, wears and can be mended. - Everything you own has a weight: a vim-keyed inventory, a pack and the ship's lockers, and trade in ore, salvage, arms and fuel. - Characters with a people and a ship of their own, saved as versioned JSON on every scene change and on quit, with a character sheet, a saves list and a pause menu wherever you are. - `orrery weapons`, `armour`, `galaxy`, `system` and `town` print the generators' output without the TUI. - Release: README install steps for macOS and Linux, a Makefile whose install also works with macOS's install, an MIT licence, and Cargo metadata with rust-version 1.88. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile30
1 files changed, 30 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0e2ecc5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,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