Makefile Cheat Sheet/Set if undefined

Assign only if variable is not already set.

Section: Variables and assignment

Set if undefined

makefile
makefile
ENV ?= dev
Explanation

Often used with environment overrides like `make ENV=prod deploy`.

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 Variables and assignment
Recursive variable
Expand later when used.
OpenIn sheetmakefilesame section
Simple variable
Expand immediately at assignment time.
OpenIn sheetmakefilesame section
Append to variable
Add text to an existing variable.
OpenIn sheetmakefilesame section
Override from command line
Pass variable values when invoking make.
OpenIn sheetbashsame section
Force override in makefile
Override even a command-line assignment.
OpenIn sheetmakefilesame section
Export variable to recipes
Pass a variable into the shell environment of recipe commands.
OpenIn sheetmakefilesame section