I am using this Amazon Linux 2 AMI on an EC2 instance: amazon/amzn2-ami-hvm-2.0.20210525.0-x86_64-gp2
This Makefile works fine:
.SHELLFLAGS := -euo pipefail -c
SHELL := bash
all:
echo here
When I run make all
I get:
bash-4.2$ make all
echo here
here
Then I add .ONESHELL:
to the Makefile:
.ONESHELL:
.SHELLFLAGS := -euo pipefail -c
SHELL := bash
all:
echo here
Now when I run make all
I get:
bash-4.2$ make all
echo here
bash: line 0: bash: echo here: invalid option name
make: *** [all] Error 2
Bash version:
GNU bash, version 4.2.46(2)-release (x86_64-koji-linux-gnu)
Make version:
GNU Make 3.82
Built for x86_64-koji-linux-gnu
If I remove the .SHELLFLAGS
it will run successfully so it seems like a combination of the two is the problem. It also appears that with ONESHELL, the SHELLFLAGS are getting corrupted.