Install
$ agentstack add skill-mohitmishra786-low-level-dev-skills-make ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
GNU Make
Purpose
Guide agents through idiomatic Makefile patterns for C/C++ projects: phony targets, pattern rules, automatic dependency generation, and common build idioms.
Triggers
- "How do I write a Makefile for my C project?"
- "My Makefile rebuilds everything every time"
- "How do I add dependency tracking to Make?"
- "What does
$@, `$ $@
### 4. Common Make patterns
#### Debug and release builds
```makefile
BUILD ?= release
ifeq ($(BUILD),debug)
CFLAGS += -g -Og -DDEBUG
else
CFLAGS += -O2 -DNDEBUG
endif
Usage: make BUILD=debug
Parallel builds
make -j$(nproc) # use all CPUs
make -j4 # exactly 4 jobs
Add -Otarget (or -O) for ordered output: make -j$(nproc) -O
Verbose output
# In Makefile: suppress with @
build/%.o: src/%.c | build
@echo " CC $<"
@$(CC) $(CFLAGS) -c -o $@ $<
Override silence: make V=1 if you guard with $(V):
Q := $(if $(V),,@)
build/%.o: src/%.c
$(Q)$(CC) $(CFLAGS) -c -o $@ $<
Installing
PREFIX ?= /usr/local
install: $(TARGET)
install -d $(DESTDIR)$(PREFIX)/bin
install -m 0755 $(TARGET) $(DESTDIR)$(PREFIX)/bin/
5. Multi-directory projects
For medium projects, avoid recursive make (fragile, slow). Use a flat Makefile that includes sub-makefiles:
# project/Makefile
include lib/module.mk
include src/app.mk
# lib/module.mk
LIB_SRCS := $(wildcard lib/*.c)
LIB_OBJS := $(LIB_SRCS:lib/%.c=build/lib_%.o)
OBJS += $(LIB_OBJS)
build/lib_%.o: lib/%.c
$(CC) $(CFLAGS) -c -o $@ $<
6. Common errors
| Error | Cause | Fix | |-------|-------|-----| | No rule to make target 'foo.o' | Missing source or rule | Check source path and pattern rule | | Nothing to be done for 'all' | Targets up to date | Touch a source file or run make clean | | Circular dependency dropped | Target depends on itself | Check dependency chain | | missing separator | Tab vs spaces | Recipes must use a tab, not spaces | | *** multiple target patterns | Pattern rule syntax error | Check % placement | | Rebuilds everything every time | Timestamps wrong, or PHONY missing | Check date; ensure all is .PHONY | | Header change not detected | No dep tracking | Add -MMD -MP and -include $(DEPS) |
For a full variable and function reference, see [references/cheatsheet.md](references/cheatsheet.md).
Related skills
- Use
skills/build-systems/cmakefor CMake-based projects - Use
skills/build-systems/ninjafor Ninja as a make backend - Use
skills/compilers/gccfor CFLAGS details
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mohitmishra786
- Source: mohitmishra786/low-level-dev-skills
- License: MIT
- Homepage: https://www.lowleveldevskills.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.