git.lucas.co / cce-layout-interface
page layout tool
git clone https://git.lucas.co/cce-layout-interface.git

commitc7cd1c580c87bac9a4db7db5eef5a34bee7a8f33
parent0fd5e249ff
authorLucas Galante <[email protected]>
date2026-08-13 21:52
build: install via ccebuild instead of hand-listing binaries

The install recipe named this crate every binary by hand, which is how crates
with extra [[bin]] targets silently went uninstalled: cce-ui shipped without
cce-bevel and cce-display-manager without its three keyring helpers, for weeks
at a time. ccebuild derives the list from cargo metadata, so a new bin target
needs no edit here.

Only the install recipe is delegated; build/run/clean are unchanged. The guard
points at cce-compositor, which installs ccebuild.

Co-Authored-By: Claude Fable 5 <[email protected]>

 Makefile | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 9132567..0179189 100644
--- a/Makefile
+++ b/Makefile
@@ -3,9 +3,13 @@
 build:
 	cargo build --release
 
+# Binaries, helper scripts and user units are enumerated by ccebuild from
+# cargo metadata, so this crate's extra [[bin]] targets are picked up without
+# being named here — hand-listing them is what left cce-bevel and the keyring
+# helpers uninstalled for weeks.
 install: build
-	mkdir -p ~/.local/bin
-	install -m 755 ../target/release/cce-layout-interface ~/.local/bin/cce-layout-interface
+	@command -v ccebuild >/dev/null || { echo "ccebuild not installed — run: make -C ../cce-compositor install"; exit 1; }
+	ccebuild install --no-build cce-layout-interface
 
 run:
 	cargo run