Makefile: codesign jerboa on macOS install; add jerbuild symlink
ober
57b62e928f413a432226908c1f02520c7202422b
--- a/Makefile +++ b/Makefile @@ -255,9 +255,17 @@ install: @test -x "$(CURDIR)/dist/jerboa" || { echo "ERROR: dist/jerboa not built — run 'make jerboa' first" >&2; exit 1; } @mkdir -p "$(BINDIR)" @install -m 0755 "$(CURDIR)/dist/jerboa" "$(BINDIR)/jerboa" + @# macOS: overwriting a Mach-O in place invalidates its (ad-hoc) code + @# signature, so the kernel SIGKILLs it ("Killed: 9"). Re-sign ad-hoc. + @case "$$(uname -s)" in Darwin) \ + codesign --force --sign - "$(BINDIR)/jerboa" >/dev/null 2>&1 \ + && echo "Re-signed $(BINDIR)/jerboa (macOS Gatekeeper)" \ + || echo "WARNING: codesign failed — binary may be killed by Gatekeeper" >&2 ;; \ + esac @ln -sf jerboa "$(BINDIR)/jmcp" @ln -sf jerboa "$(BINDIR)/jlsp" - @echo "Installed: $(BINDIR)/{jerboa,jmcp,jlsp}" + @ln -sf jerboa "$(BINDIR)/jerbuild" + @echo "Installed: $(BINDIR)/{jerboa,jmcp,jlsp,jerbuild}" @case ":$$PATH:" in *":$(BINDIR):"*) ;; *) echo "NOTE: $(BINDIR) is not on PATH — add it to use these commands" >&2 ;; esac # ── Cross-compiled multicall binary ──────────────────────────────────────────