← Extensions

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 installs
MakeRefreshes a listmake -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]] }' | sort
RunIn a tabmake ${target}
Dry RunIn a tabmake -n ${target}
MakeIn a tabmake
Make: Run Default TargetIn a tabmake

Ask 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.