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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.