Rename optional feature build target to extras
ober
88d91a2fb0383671c59a5b8dfef1d80cec5b009c
--- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ *.ta6fb /jsh -/jsh-options +/jsh-extras /jsh-macos /jsh-macos.sha256 /ffi-shim-symbols.list --- a/Makefile +++ b/Makefile @@ -61,7 +61,7 @@ SH_SPEC := python3 $(CURDIR)/test/run_spec.py BASH := /bin/bash JSH ?= $(if $(filter Darwin,$(UNAME_S)),./jsh-macos,./jsh) -.PHONY: ensure-jerboa-tools ensure-shell-extras options jerboa binary jsh jsh-macos macos run security test test-binary test-native \ +.PHONY: ensure-jerboa-tools ensure-shell-extras extras jerboa binary jsh jsh-macos macos run security test test-binary test-native \ test-native-sanitize test-security-regressions adversarial-corpus audit \ sbom reproducibility-report timing-evidence verify release-evidence \ compat compat-smoke compat-tier0 compat-tier1 compat-tier2 compat-one compat-range compat-debug \ @@ -81,13 +81,17 @@ ensure-shell-extras: echo "=== Fetching jerboa-shell-extras ==="; \ mkdir -p "$$(dirname "$(JERBOA_SHELL_EXTRAS_DIR)")"; \ git clone "$(JERBOA_SHELL_EXTRAS_URL)" "$(JERBOA_SHELL_EXTRAS_DIR)"; \ + elif [ "$(JERBOA_SHELL_EXTRAS_DIR)" = "$(CURDIR)/_vendor/jerboa-shell-extras" ]; then \ + echo "=== Updating jerboa-shell-extras ==="; \ + git -C "$(JERBOA_SHELL_EXTRAS_DIR)" pull --ff-only; \ fi + @test -f "$(JERBOA_SHELL_EXTRAS_DIR)/Makefile" -options: ensure-shell-extras - @$(MAKE) -C "$(JERBOA_SHELL_EXTRAS_DIR)" options \ +extras: ensure-shell-extras + @$(MAKE) -C "$(JERBOA_SHELL_EXTRAS_DIR)" extras \ JERBOA_SHELL_DIR="$(CURDIR)" \ JSH_EMBED="$(JERBOA_SHELL_EXTRAS_DIR)/embed" \ - OPTIONS_OUTPUT="$(CURDIR)/jsh-options" + EXTRAS_OUTPUT="$(CURDIR)/jsh-extras" ffi-shim-symbols.list: ffi-shim.c tools/extract-ffi-symbols.sh Makefile @echo "=== Regenerating FFI symbol whitelist from ffi-shim.c ===" @@ -295,7 +299,7 @@ help: @echo "Build:" @echo " make jsh-macos Build the macOS binary" @echo " make jsh Build and copy the native binary to ./jsh" - @echo " make options Select and build optional feature bundles" + @echo " make extras Select and build optional feature bundles" @echo "" @echo "Test:" @echo " make security Release security metadata and secret scan" --- a/README.md +++ b/README.md @@ -19,6 +19,14 @@ The build uses `jerbuild` from Jerboa. The Makefile prefers `./jerbuild`, then `.jerboa/bin/jerbuild`, then `jerbuild` on `PATH`; if none are available it fetches the configured Jerboa release tool. +The default targets build only the bare shell. To open the optional-feature +menu, fetch the extras bundle and its selected dependencies, and produce +`./jsh-extras`, run: + +```sh +make extras +``` + ## Test ```sh