Girdiğimde kabukta
echo $demoPath
yazdırır
/usr/local/demo
$demoPath
Makefile'da bu değişkenin değerini nasıl alabilirim ?
Yanıtlar:
Ortam değişkenini dışa aktardıysanız:
export demoPath=/usr/local/demo
makefile
( make
ayarladığınız tüm ortam değişkenlerini içe aktarır) içindeki adıyla buna basitçe başvurabilirsiniz :
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
Ortam değişkenini dışa aktarmadıysanız, siz onu dışa aktarana kadar veya komut satırından açıkça iletmedikçe erişilemez:
make DEMOPATH="${demoPath}" …
Bir C kabuğu türevi kullanıyorsanız setenv demoPath /usr/local/demo
, export
komutu yerine koyun.
demoPath=/usr/local/demo make
. Test etmek ve belki cevabınızı güncellemek isteyebilirsiniz. Şerefe!
davranışı onaylamak için bazı resmi belgeler isteyenler için
Make'deki değişkenler make'in çalıştırıldığı ortamdan gelebilir. Başladığında gören her ortam değişkeni aynı isim ve değere sahip bir make değişkenine dönüştürülür. Bununla birlikte, makefile veya bir komut argümanındaki açık bir atama ortamı geçersiz kılar. ('-E' bayrağı belirtilmişse, ortamdaki değerler makefile'daki atamaları geçersiz kılar.
https://www.gnu.org/software/make/manual/html_node/Environment.html