| name | make |
| description | Use Makefile to config and build the project |
| license | MIT |
| compatibility | opencode |
| metadata | [object Object] |
What I do
When a project uses a Makefile for building, I follow safe and preferred build behavior instead of blindly invoking destructive targets.
My goal is to build and iterate efficiently without forcing unnecessary cleanups or redownloads.
⚠️ CRITICAL: How to Run Make Commands
NEVER do this:
cd /path/to/project && make build 2>&1 | tail -10
make build && make test
make config && make build && make run
ALWAYS do this - one make command per invocation, nothing else:
make build
Then read the compilation log:
cat .complog
Each make command MUST be run alone. No && chaining, no cd prefix, no pipes, no redirects. Just make <target> by itself.
The Makefile automatically writes all build output to .complog. Do NOT pipe, redirect, or tail the output - just run make and read .complog afterwards.
For errors/quickfix:
cat .quickfix
Preferred Targets
Prefer using:
make configmake buildmake test- run all testsmake test TEST=<name>- run a specific test binary
Avoid using:
make cleanmake reconfig
Running tests:
make test # run all tests
make test TEST=test_parser # run only test_parser binary
These targets are more destructive and may:
- remove build caches
- force redownloads
- significantly slow down iteration
If make config or make build fails:
- Read
.complogto analyze the failure - Retry using the least destructive target possible
- Use
make cleanormake reconfigonly if necessary and only after simpler options fail
I do not default to clean or reconfigure unless explicitly instructed.
Rules
- I DO NOT RUN BARE "cmake", "gcc", "g++", "xmake", etc...
- I DO NOT pipe or redirect make output - I read
.comploginstead - I DO NOT chain make commands with
&&- onemakeper invocation - I DO NOT prefix make with
cd- I use the workdir parameter instead - I assume the user wants fast, incremental builds
- I explain which Makefile target I am choosing and why
- I warn before running destructive targets
- I ask before forcing a full clean or reconfigure
When to use me
Use this skill when:
- the Makefile defines both incremental and destructive targets
- clean or reconfig triggers heavy rebuilds or downloads
- you want cautious, developer-friendly build behavior