diff --git a/mobile/Makefile b/mobile/Makefile index 9a9e82e9..3717d754 100644 --- a/mobile/Makefile +++ b/mobile/Makefile @@ -3,7 +3,9 @@ # host tool remote-slot (dotfiles, ~/.local/bin). The environment, gitignored files, and make's own # flags do not cross, and every output (installs, archives, receipts) stays on that host. GitHub # Actions jobs already run on the Mac their workflow picked. -APPLE_BUILD_HOST := haiku-7 +ifeq ($(filter command line,$(origin APPLE_BUILD_HOST))$(GITHUB_ACTIONS),) +APPLE_BUILD_HOST := $(or $(shell remote-slot apple-host),$(error remote-slot apple-host named no Mac build host; update the dotfiles host tool remote-slot or pass APPLE_BUILD_HOST)) +endif ifeq ($(filter $(APPLE_BUILD_HOST),$(shell hostname -s))$(GITHUB_ACTIONS),) APPLE_BUILD_HOST_VARIABLES := $(strip $(foreach variable,$(sort $(.VARIABLES)),$(if $(filter command line,$(origin $(variable))),'$(variable)=$(subst ','\'',$(value $(variable)))'))) .DEFAULT_GOAL := apple-build-host diff --git a/mobile/README.md b/mobile/README.md index 87eac690..dd61baf4 100644 --- a/mobile/README.md +++ b/mobile/README.md @@ -69,10 +69,10 @@ and the exports built on them) starts with `signing-session`, which runs the dotfiles host tool `build-keychain unlock`, so it signs from a fresh noninteractive SSH session. -`haiku-7` runs every lane in `mobile/Makefile`. From any other host, `make -C mobile ` -forwards the goals and command-line variables to the dotfiles host tool `remote-slot`, which -mirrors this checkout's exact bytes into a warm `.worktrees/remote-slot-` on `haiku-7` and runs -the lane there; its outputs stay on `haiku-7`. +The Mac build host that `remote-slot apple-host` names runs every lane in `mobile/Makefile`. From +any other host, `make -C mobile ` forwards the goals and command-line variables to the +dotfiles host tool `remote-slot`, which mirrors this checkout's exact bytes into a warm +`.worktrees/remote-slot-` on that host and runs the lane there; its outputs stay on that host. These lanes require the matching Developer ID or Apple Distribution identities, profiles, a valid `csweb` App Store Connect profile, and signed agreements for