Makefile Workflow
Workflow for Makefile changes.
Prerequisites
Use git-workflow Skill for branch, commit, and PR workflow.
Applicable Files
Path Description
Makefile
Main makefile
make/*.mk
Included makefiles
Structure
Makefile # Main entry point, includes make/*.mk make/ ├── go.mk # Go-related targets ├── docker.mk # Docker targets ├── atlas.mk # Database migration targets ├── sqlc.mk # SQLC generation targets └── ...
Verification Commands
make mk-lint # Lint makefiles
Manual Checks
List all targets
make help
Dry run (if supported)
make -n {target}
Guidelines
Style
-
Use tabs for indentation (required by Make)
-
Use .PHONY for non-file targets
-
Add help text for targets
-
Group related targets
Best Practices
-
Targets are .PHONY if not creating files
-
Dependencies are correct
-
Variables use ?= for defaults
-
Help text exists for main targets
Example Target
.PHONY: my-target my-target: ## Description of target @echo "Running my-target..." command1 command2
Verification Checklist
-
make mk-lint passes
-
Target runs correctly
-
Dependencies work
-
Help text is accurate
Commit Format
chore(make): {brief description}
- {change 1}
- {change 2}
Closes #{issue_number}
Related Skills
- git-workflow
- Branch, commit, PR workflow