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
Basic pattern rule
Compile any `.c` file into a matching `.o` file.
OpenIn sheetmakefilesame section
Pattern rule with directories
Build objects into a separate output directory.
OpenIn sheetmakefilesame section
Static pattern rule
Apply a pattern to a known target list.
OpenIn sheetmakefilesame section
Link binary from generated object list
Assemble final executable from all objects.
OpenIn sheetmakefilesame section
Clear built-in suffix rules
Reduce surprises by disabling legacy suffix rules.
OpenIn sheetmakefilesame section
wildcard function
Expand glob patterns during parsing.
OpenIn sheetmakefile1 tag match