Jawaban:
Jika Anda telah mengekspor variabel lingkungan:
export demoPath=/usr/local/demo
Anda cukup merujuknya dengan nama di makefile
( make
mengimpor semua variabel lingkungan yang telah Anda setel):
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
Jika Anda belum mengekspor variabel lingkungan, variabel tersebut tidak dapat diakses hingga Anda mengekspornya, atau kecuali Anda meneruskannya secara eksplisit pada baris perintah:
make DEMOPATH="${demoPath}" …
Jika Anda menggunakan turunan C shell, pengganti setenv demoPath /usr/local/demo
untuk export
perintah.
demoPath=/usr/local/demo make
. Anda mungkin ingin mengujinya dan mungkin memperbarui jawaban Anda. Bersulang!
bagi mereka yang menginginkan beberapa dokumen resmi untuk mengkonfirmasi perilaku tersebut
Variabel dalam make dapat berasal dari lingkungan dimana make dijalankan. Setiap variabel lingkungan yang membuat melihat saat dijalankan diubah menjadi variabel make dengan nama dan nilai yang sama. Namun, penetapan eksplisit dalam makefile, atau dengan argumen perintah, menggantikan lingkungan. (Jika tanda '-e' ditentukan, maka nilai dari lingkungan akan menggantikan penetapan dalam makefile.
https://www.gnu.org/software/make/manual/html_node/Environment.html
all:
echo ${PATH}
Atau ubah PATH hanya untuk satu perintah:
all:
PATH=/my/path:${PATH} cmd