Saya menggunakan fpgalink fx2 untuk membangun di mesin Windows. Inilah makefile apa arti dari skrip berikut:
BRANCH := $(shell TRY=$(CURDIR)
BRANCH=dev
while [ "$${TRY}" != "$(ROOT)" -a "$${TRY}" != "/" ]; do
if [ -e "$${TRY}/.branch" ]; then
BRANCH=$$(cat "$${TRY}/.branch")
break
fi
TRY=$$(dirname $${TRY})
done
echo $${BRANCH})
Jawaban:
Fragmen GNU Makefile ini mengatur nilai dari
BRANCH
Variabel makefile.Ini dilakukan dengan menjalankan skrip shell pendek, yang diberi kode inline di Makefile.
Script shell mencoba menemukan file bernama
.branch
dalam direktori saat ini. Jika file itu tidak ditemukan, ia mencoba menemukannya di direktori di atas, dan seterusnya hingga menyentuh direktori root (/
) atau menyentuh direktori yang diberikan oleh nilai variabel MakefileROOT
.Jika menemukan file, konten file akan digunakan untuk mengatur nilai
BRANCH
(dan loop berakhir). Jika tidak menemukan.branch
file di mana saja,BRANCH
variabel akan diatur ke nilaidev
.sumber