How to SHELL for Compatible Makefiles

The upshot is if you care about maximum compatibility with different versions of GNU Make, don’t use .SHELLFLAGS just put all your args in-line in the SHELL variable, and make sure to always always use -c as your last argument. E.g. for bash in “strict mode” But why? I really care about the out of the box development experience on projects… Continue reading How to SHELL for Compatible Makefiles

YES/NO Boolean Env Vars

I use YES and NO in environment variables to store Boolean values. I have come to the conclusion that this is in some way optimal after trying all the other obvious options and finding that each has readability flaws: 0 and 1 are confusing in POSIX shells like bash, because return 0 and exit 0 usually mean “success” (the command did not fail) which we think… Continue reading YES/NO Boolean Env Vars