2012-02-01 3 views
0

Я пишу установку в Makefile, в котором мне нужно установить PATH env. переменная.Чтение переменных cmd.exe внутри файла MinGW Makefile

В окнах части, я обнаружил следующее:

  • set: С set PATH="%PATH%;%CD%" я могу изменить PATH внутри работающей среды. Есть две проблемы:
    • среда является порождал cmd.exe по маркам, который получает его переменная влияет и эффект удаляется, как только он закрывает
    • Даже если предыдущая проблема может быть решена, еще в cmd.exe, что вызывает make закроет один день, а измененный PATH потерян.
  • setx: Средство Microsoft, которое может навсегда изменить env. переменные. Согласно microsoft itself, это единственный вариант командной строки для этого. Однако использование setx PATH "%PATH%;%CD%" -m превращает путь в литерал %PATH%;%CD% и не заменяет переменные их содержимым!

Обратите внимание, что я называю make от cmd.exe не Cygwin или другие модифицированные оболочки окна, которые действуют больше как Linux. То, что я хочу сказать, что, хотя я могу использовать $(PATH) в моем Makefile (вместо %PATH%), я не могу использовать pwd (вместо %CD%)

Также обратите внимание, что если в CMD себя я бегу:

setx PATH "%PATH%;%CD%" -m 

он отлично работает. Как-то мне нужно сделать make выполнить эту команду.

Есть ли у вас какие-либо идеи, как исправить это, или какое обходное решение у меня есть?

P.S. Просто для записи, echo "%PATH%;%CD%" в Makefile вторит буквальный "%PATH%;%CD%", а не позволить cmd.exe справиться с этим

ответ

0

Обход:

Создать .bat файл, поместите команду там, и вызывать его из Makefile.

Я все еще заинтересован в прямом исправлении в Makefile.

0

Назад в день я Borland C++ инструмент Free командной строки включен в версии замыкающего который хорошо играл с DOS/Windows командная строка. Вероятно, все еще плавает где-то.

+0

Я бы сказал, что пользователь должен изменить свой собственный «PATH», чем отключиться от «GNU make» !! Хотя ты дал мне идею. Я мог бы поместить команду в файл .bat и выполнить это из моего make – Shahbaz

Смежные вопросы