С этим вопросом я могу столкнуться с проблемой X-Y, и я призываю вас, ребята, поправить меня, если я ошибаюсь.
Я хотел бы настроить среду набора инструментов, которая может работать на разных платформах и версиях компилятора. Первоначально я написал длинный Perl-скрипт, который генерирует конфигурационный Makefile, содержащий только переменные. Я хотел быть простым, поэтому я не писал ничего сложного, используя automake или autoconf. Более того, я хотел, чтобы процесс реконфигурации был очень быстрым. В моем случае мой собственный написанный ./configure
делает все менее чем за секунду. Я очень доволен этим.
Однако я чувствую, что могу использовать лучший подход, используя переменные среды. Вместо того, чтобы писать Makefile с конкретными переменными, я могу установить текущую среду оболочки напрямую. Например:
export cc=gcc
К сожалению, некоторые переменные уже объявлены в $ PATH. Решение состоит в том, чтобы добавить новый $ PATH перед другим:
export PATH=/new/toolchain/path:$PATH
echo $PATH
/new/toolchain/path:/old/toolchain/path:/usr/bin:/bin...
Я чувствую, что это некрасиво. Я хотел бы удалить старый путь перед добавлением нового.
Чтобы сделать вывод:
- Лучше использовать среду вместо пользовательских make файлов для установки конфигурации сборки?
- Как правильно настроить существующие переменные среды?