makefile-development

star 12

This skill should be used when the user asks to "create a Makefile", "write a Makefile", "add a make target", or mentions Makefile conventions.

dwmkerr By dwmkerr schedule Updated 2/25/2026

name: makefile-development description: This skill should be used when the user asks to "create a Makefile", "write a Makefile", "add a make target", or mentions Makefile conventions.

Makefile Development

Create Makefiles following consistent conventions.

Template

default: help

.PHONY: help
help: # Show help for each of the Makefile recipes.
    @grep -E '^[a-zA-Z0-9 -]+:.*#'  Makefile | sort | while read -r l; do printf "\033[1;32m$$(echo $$l | cut -f 1 -d':')\033[00m:$$(echo $$l | cut -f 2- -d'#')\n"; done

.PHONY: init
init: # Initialise the development environment.
    ./scripts/init.sh

Conventions

Element Convention
Filename Makefile (capitalised, no extension)
Default target default: help as the first line
.PHONY Declare directly above each target
Help comments Single # on the target line: target: # Description.
Target names Lowercase, hyphen-separated (test-e2e, type-check)
Complex logic Delegate to scripts (./scripts/build.sh) rather than inline

Help Target

The self-documenting help target parses # comments and prints sorted, colour-coded output:

.PHONY: help
help: # Show help for each of the Makefile recipes.
    @grep -E '^[a-zA-Z0-9 -]+:.*#'  Makefile | sort | while read -r l; do printf "\033[1;32m$$(echo $$l | cut -f 1 -d':')\033[00m:$$(echo $$l | cut -f 2- -d'#')\n"; done

Every target must have a # Description. comment or it won't appear in help output.

Common Targets

Target Purpose
help Show available targets (always present)
init or setup Install dependencies, configure environment
build Compile or bundle artifacts
dev Start local development server
test Run test suite
lint Run linters and formatters

Important

After creating or modifying Makefiles, remind the user:

Use tabs. Makefile recipes require literal tab characters for indentation, not spaces.

Install via CLI
npx skills add https://github.com/dwmkerr/claude-toolkit --skill makefile-development
Repository Details
star Stars 12
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator