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