Memahami skrip makefile untuk Linux

2

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})
vport
sumber
1
Mengapa downvote ??? Saya memperbaikinya.
MariusMatutiae

Jawaban:

1

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 Makefile ROOT.

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 nilai dev.

Kusalananda
sumber