Create object names from source names.
Section: Implicit and pattern rules
Match and transform filenames
makefile
makefile
SRC := $(wildcard src/*.c)
OBJ := $(patsubst src/%.c,build/%.o,$(SRC))Explanation
`patsubst` is a common bridge between source and output file lists.
Learn the surrounding workflow
Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.
Related commands
Same sheet · prioritizing Implicit and pattern rules
Pattern rule with directories
Build objects into a separate output directory.
Link binary from generated object list
Assemble final executable from all objects.
Clear built-in suffix rules
Reduce surprises by disabling legacy suffix rules.