2012-02-01 32 views
0

我正在將Makefile中的安裝寫入其中,我需要設置PATH env。變量。讀取MinGW Makefile中的cmd.exe變量

在有Windows的一部分,我發現:

  • set:隨着set PATH="%PATH%;%CD%"我可以改變運行環境裏面的PATH。有兩個問題:
    • 環境是催生cmd.exe由make它得到它的變量的影響,因爲它關閉
    • 即使以前的問題可以解決,仍是cmd.exe調用的效果會立即刪除make將關閉一天,修改後的PATH丟失。
  • setx:一個微軟工具,可以永久改變環境。變量。根據microsoft itself,這是執行此操作的唯一命令行選項。然而,使用setx PATH "%PATH%;%CD%" -m,將路徑轉換爲字面意思%PATH%;%CD%,並且不會用它們的內容替換變量!

注意,我打電話從cmd.exemake沒有在cygwin或者更象其他Linux修改後的Windows外殼。我想說的是,雖然我可以在我的makefile(而不是%PATH%)使用$(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++免費命令行工具包括一個版本的make可以很好的與dos/windows命令行。可能仍然在某個地方浮動。

+0

我寧願告訴用戶改變他自己的'PATH'而不是從'GNU make'轉換!雖然你給了我一個主意。我可以把這個命令放在一個.bat文件中並從我的make中執行 – Shahbaz 2012-02-01 16:34:57