Вы не можете использовать псевдоним, потому что псевдонимы существуют только в интерактивных оболочках и не присутствуют в неинтерактивных оболочках, подобных той, которую make использует для вызова комментариев в рецептах. То же самое с функциями оболочки.
Вы также не можете установить переменную SHELL
для команды, которая использует аргументы: значение SHELL
должно быть только именем команды. Однако вы можете установить для переменной .SHELLFLAGS
дополнительные параметры, которые будут передаваться в оболочку. Не забывайте, что вам понадобится опция -c
в дополнение к любым добавляемым вами флагам!
Что-то вроде .SHELLFLAGS=-xc
Если все ваши make-файлы правильно вызывают свои подмейки, используйте make -n
поскольку первоначальный вызов должен работать.
Под «правильным вызовом» я подразумеваю, что они должны всегда использовать переменную $(MAKE)
при вызове подделок и никогда не использовать необработанные make
command.
Если они не вызывают подделку должным образом, и вы не можете это исправить, то лучшее, что вы можете сделать, это написать сценарий оболочки с именем make
, который выполняет то же, что и ваши псевдонимы, указанные выше, а затем добавить его в ваш PATH
так что он найден первым. Очевидно, что внутри сценария вам нужно будет использовать полностью определенный путь для запуска «настоящей» программы make, иначе вы получите бесконечную рекурсию :)