LINUX.ORG.RU

заменить шелл для make


0

0
По умолчанию make юзает sh в качестве шелла для команд. Судя по всему шел запускается в не-интерактивном режиме и стартовые скрипты не соурсятся.

Я хочу юзать процедуру которая у меня прописана в ~/.profile или ~/.bash_profile в целом где угодно абы работало в мейкфайлах. Кроме как патчить bash как?

Мсье знатный велосипедист и ниасилил перенос данной процедуры на синтаксисе make внутрь самих Makefile'ов? Ну тогда ifeq/ifneq в помощь ;)
Gharik
()
> Судя по всему шел запускается в не-интерактивном режиме и стартовые скрипты не соурсятся.

сорсятся *rc

dilmah ★★★★★
()
Ответ на: комментарий от Gharik
Мьсе знатный шутник который не знает ответа но для того чтоб его заметили хочет ляпнуть хоть что то
programmer
() автор топика
Ответ на: комментарий от dilmah
> сорсятся *rc

Расшифруйте пожалуйста - из /etc/rc.d загружаются только при загрузке а из домашнего каталога в данной ситуации не загружаются

programmer
() автор топика
1) То что ты хочешь сделать -- зло.
2) SHELL= в Makefile
Zulu ★★☆☆
()
Ответ на: комментарий от programmer
> Расшифруйте пожалуйста - из /etc/rc.d загружаются только при загрузке а из домашнего каталога в данной ситуации не загружаются

ну например bash сорсит /etc/bashrc и ~/.bashrc

dilmah ★★★★★
()
Ответ на: комментарий от dilmah
К сожалению в данном случае не соурсит - make запускает шелл только как sh в неинтерактивном режиме которые ничего не загружает (хотя должен соурсить файл из $ENV) 

переменная SHELL для make должна работать но не работает тоже 
в процессе выполнения SHELL в мейк всегда = /bin/sh

Нет так нет  - просто хотел кое что проверить - пойдем другим путем
Kray
()
Ответ на: комментарий от Kray
> К сожалению в данном случае не соурсит - make запускает шелл только как sh в неинтерактивном режиме которые ничего не загружает (хотя должен соурсить файл из $ENV)

ну не знаю.. *rc должен сорсить вне зависимости, интерактивный или нет

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.