Version 0.2.1 behavior is documented here. Thesupport record separates local verification frompublished MoonX behavior; moonx examples use registry releases.
cli/make provides a Make subset implemented in MoonBit. Use -f/--file FILEto select a makefile, -C DIR to change its working directory, -n/--just-printfor dry runs, -s/--silent to suppress recipe echo, and -B/--always-make toforce rebuilding. Target operands and NAME=VALUE command-line assignmentsare accepted.
include, -include, sinclude, command-line variable assignment,ifeq/ifneq/ifdef/ifndef, pattern/static-pattern dependencies, andautomatic variables ($@, $<, $^, $+, $*, $@D, $@F, $<D, $<F)are supported in the implemented slice. -j N schedules independent targetsconcurrently with at most N recipe chains, and bare -j permits all readytargets. Shared prerequisites execute once. -k continues independent targetsafter recipe failures, and -Wmarks targets depending on the named file out of date. The full GNU built-indatabase, jobserver and secondary expansion remain outside the supportedsubset. $(shell ...) uses the MoonBit shell, converts embedded newlines tospaces, strips trailing newlines and updates .SHELLSTATUS. -C supplies therecipe and shell-function working directory.
Each external command in a recipe is launched through the public MoonBitprocess API. The complete Makefile is never forwarded to a host makeexecutable. The remaininglanguage surface is listed in thesupport record.
Recipes inherit the complete caller environment plus explicitly exported andcommand-line make variables. export NAME[=VALUE] and unexport NAME controlexports; unexported make variables remain local. Bare export/unexport arerejected.Authorization is applied by the caller or host, and locale variables are notrewritten.
Standalone --version prints exactly make 0.2.1 followed by onenewline. Standalone --help starts with Usage: make, lists bothmetadata options, and ends with a newline. Both write to stdout, leave stdinunread, and exit with status 0. Exact-version publication and verificationremain recorded separately in the support record.