3 ms·
There's nothing stopping you from specifying an explicit shell in your Makefile (see: https://www.gnu.org/software/make/manual/make.html#Choosing-the-Shell http
by nrclark 2y ago
There's nothing stopping you from specifying an explicit shell in your Makefile (see: https://www.gnu.org/software/make/manual/make.html#Choosing-the-Shell https://www.gnu.org/software/make/manual/make.html#Choosing-...).
You could set it to Ash, Bash, Perl, Python, execline, Docker exec, or whatever you want really. You can also set that variable on a per-recipe basis, if you have one recipe that needs a custom shell.
(note to any GNU Make maintainers who might see this: it would be really helpful to be able to set .ONESHELL on a per-recipe basis as well!)
- hommelix 2y agoOr even emacs, AS Amy Grinn showed last Werk at Fosdem. https://fosdem.org/2025/schedule/event/fosdem-2025-5139-org-mode-witchcraft-at-spritely/ https://fosdem.org/2025/schedule/event/fosdem-2025-5139-org-...
- t43562 2y agoI always do in fact do that. SHELL:=/usr/bin/bash or whatever The problem is that bash isn't there on windows and not even on all Linuxes so if I supply you with a makefile there's no way to be sure you can use it. If make included a language then I don't need to worry about your dependencies - not even which version of bash you have. This would cause a makefile to be FAR more useful.