Make
Makefile targets of the workspace — run them, dry-run them, or hand a failing one to an agent.
What it can run on your Mac
From extension.json at make-1.0.0 · Kelp shows the same list before it installsmake -pRrq : 2>/dev/null | awk '
/^MAKEFILE_LIST :?= / { mk = $0; sub(/^[^=]*= */, "", mk) }
/^# Files/ { files = 1 }
/^# Finished Make data base/ { files = 0 }
/^# Not a target:/ { skip = 1; next }
files && /^[^#\t]/ { if (!skip && !/^[.%]/) { sub(/:.*/, ""); t[++n] = $0 } skip = 0 }
END {
m = split(mk, f, " ")
for (i = 1; i <= m; i++) while ((getline l < f[i]) > 0) if (l ~ /^[^#\t][^:=]*:.*## /) {
s = l; sub(/.*## */, "", s); gsub(/\\/, "\\\\", s); gsub(/"/, "\\\"", s)
sub(/:.*/, "", l); k = split(l, ts, " "); for (j = 1; j <= k; j++) d[ts[j]] = s
}
for (i = 1; i <= n; i++) printf "{\"target\":\"%s\",\"description\":\"%s\"}\n", t[i], d[t[i]]
}' | sortmake ${target}make -n ${target}makemakeAsk Agent to Fix hands the item to an agent with a prompt and runs nothing by itself.
README
Makefile targets of the workspace — run them, dry-run them, or hand a failing one to an agent.
Needs make — Kelp keeps it off until that's installed.
Adds a Make panel to the right inspector with the targets of the workspace's Makefile (and the files it
includes), refreshed every 10 s. A ## comment after a target (test: build ## Run the tests) shows as its subtitle.
Double-click a row for Run (make <target> in a terminal tab); its context menu also has Dry Run, Ask Agent to Fix.
Toolbar: Make (default target), Open Makefile.
In the command palette (⇧⌘P) and Run menu: Make: Run Default Target.
Targets are read with make -pq, which evaluates the Makefile: its $(shell …) calls run, its recipes don't.