Run all lines of a recipe in a single shell instance.
Section: Special targets and behavior control
One shell per recipe
makefile
makefile
.ONESHELL:
deploy:
set -eu
cd infra
terraform apply -auto-approveExplanation
Without `.ONESHELL`, each recipe line runs in a separate shell.
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 Special targets and behavior control
Delete target on error
Remove a partially built target if the recipe fails.
Secondary expansion
Allow a second variable expansion for prerequisites.
Disable parallelism
Force serial execution for all or selected targets.
Set explicit default goal
Choose which target runs when the user invokes plain `make`.