Buat - Command Linux - Unix Command

buat - GNU membuat utiliti untuk mengekalkan kumpulan program

Sinopsis

buat [ -f makefile ] [pilihan] ... sasaran ...

Amaran

Halaman ini adalah ekstrak dokumentasi pembuatan GNU. Ia dikemaskini hanya sekali-sekala kerana projek GNU tidak menggunakan nroff. Untuk lengkap, dokumentasi semasa, merujuk kepada fail Info make.info yang dibuat dari Texinfo source make.texinfo file.

Penerangan

Tujuan penggunaan utiliti adalah untuk menentukan secara automatik bahagian-bahagian program yang besar perlu dikompilasi dan mengeluarkan perintah untuk mengkompilasi semula mereka. Manual ini menerangkan pelaksanaan GNU, yang ditulis oleh Richard Stallman dan Roland McGrath. Contoh-contoh kami menunjukkan program C kerana mereka paling biasa, tetapi anda boleh menggunakan membuat dengan bahasa pemrograman yang mana pengompilasi dapat dijalankan dengan perintah shell. Malah, buat tidak terhad kepada program. Anda boleh menggunakannya untuk menerangkan apa-apa tugas di mana beberapa fail mesti dikemas kini secara automatik dari orang lain apabila orang lain berubah.

Untuk mempersiapkan penggunaan, anda mesti menulis fail bernama makefile yang menerangkan hubungan antara fail dalam program anda, dan menyatakan perintah untuk mengemas kini setiap fail. Dalam program, biasanya fail boleh laku dikemas kini dari fail objek, yang seterusnya dibuat dengan menyusun fail sumber.

Setelah membuat fail yang sesuai, setiap kali anda menukar beberapa fail sumber, perintah shell mudah ini:

buat

cukup untuk melakukan semua pengubahan yang diperlukan. Program pembuatan menggunakan pangkalan data makefile dan masa pengubahsuaian terakhir fail untuk menentukan mana yang perlu dikemas kini. Bagi setiap fail tersebut, ia mengeluarkan arahan yang direkodkan dalam pangkalan data.

membuat arahan dalam membuat fail untuk mengemas kini satu atau lebih nama sasaran, di mana nama biasanya merupakan program. Sekiranya tiada pilihan -f hadir, membuat akan mencari fail GNUmake makefiles , makefile , dan Makefile , dalam perintah itu.

Biasanya anda perlu memanggil fail makefile anda sama ada makefile atau Makefile . (Kami mencadangkan Makefile kerana ia muncul dengan jelas berhampiran permulaan penyenaraian direktori, tepat berhampiran fail penting lain seperti README .) Nama pertama yang diperiksa, GNUmakefile , tidak disyorkan untuk kebanyakan makefiles. Anda harus menggunakan nama ini jika anda mempunyai makefile yang spesifik untuk membuat GNU, dan tidak akan difahami oleh versi membuat yang lain . Jika makefile adalah `- ', input standard dibaca.

buat kemas kini sasaran jika ia bergantung pada fail prasyarat yang telah diubah suai sejak sasaran terakhir dimodifikasi, atau jika sasaran tidak wujud.

PILIHAN

-b

-m

Pilihan ini diabaikan untuk keserasian dengan versi membuat yang lain .

-C dir

Tukar ke dir direktori sebelum membaca makefiles atau melakukan apa-apa lagi. Sekiranya pelbagai pilihan -C ditentukan, masing-masing ditafsirkan berbanding dengan yang terdahulu: -C / -C dan sebagainya sama dengan -C / etc. Ini biasanya digunakan dengan membuat rekursif membuat .

-d

Mencetak maklumat debugging sebagai tambahan kepada pemprosesan biasa. Maklumat debugging mengatakan fail-fail mana yang sedang dipertimbangkan untuk diperbaiki semula, yang mana fail-fail sedang dibandingkan dan dengan apa hasilnya, yang sebenarnya sebenarnya perlu dibuat semula, yang mana peraturan tersirat dipertimbangkan dan yang digunakan --- segala sesuatu yang menarik tentang bagaimana membuat keputusan Apa nak buat.

-e

Berikan pemboleh ubah yang diambil dari keutamaan alam sekitar ke atas pemboleh ubah dari makefiles.

-f fail

Gunakan fail sebagai fail makefile.

-i

Abaikan semua ralat dalam arahan yang dilaksanakan untuk membuat semula fail.

-I dir

Menentukan dir direktori untuk mencari makefiles yang disertakan. Jika beberapa -I opsyen digunakan untuk menentukan beberapa direktori, direktori itu dicari mengikut urutan yang ditentukan. Tidak seperti hujah-hujah kepada bendera lain yang dibuat , direktori yang diberikan dengan -I bendera boleh datang terus selepas bendera: -I dir dibenarkan, serta -I dir. Sintaks ini dibenarkan untuk keserasian dengan bendera C -professor -I .

-j kerja

Menentukan bilangan pekerjaan (perintah) untuk dijalankan serentak. Sekiranya terdapat lebih daripada satu pilihan -j , yang terakhir adalah berkesan. Jika pilihan -j diberikan tanpa hujah, buat tidak akan membatasi bilangan pekerjaan yang boleh dijalankan serentak.

-k

Teruskan sebanyak mungkin selepas ralat. Walaupun sasaran yang gagal, dan yang bergantung padanya, tidak boleh dibuat semula, kebergantungan lain sasaran ini dapat diproses semuanya sama.

-l

-l beban

Menentukan bahawa tiada pekerjaan baru (perintah) harus dimulakan jika terdapat pekerjaan lain yang sedang berjalan dan rata-rata beban sekurang-kurangnya beban (nombor terapung). Dengan tiada hujah, mengalihkan had beban sebelumnya.

-n

Cetak perintah yang akan dilaksanakan, tetapi jangan laksanakannya.

-o fail

Jangan buat semula fail fail walaupun lebih tua daripada dependenciesnya, dan jangan buat semula apa-apa kerana perubahan dalam fail . Pada dasarnya fail dianggap sebagai sangat tua dan peraturannya diabaikan.

-p

Cetak asas data (peraturan dan nilai ubah) yang hasil daripada membaca makefiles; kemudian laksanakan seperti biasa atau sebaliknya dinyatakan. Ini juga mencetak maklumat versi yang diberikan oleh suis -v (lihat di bawah). Untuk mencetak pangkalan data tanpa cuba membuat semula sebarang fail, gunakan make -p -f / dev / null.

-q

`` Mod soalan ''. Jangan jalankan sebarang perintah, atau cetak apa-apa; hanya kembali status keluar yang sifar jika sasaran yang ditentukan sudah terkini, sebaliknya.

-r

Menghapuskan penggunaan peraturan tersirat terbina dalam. Juga jelaskan senarai lalai akhiran untuk peraturan akhiran.

-s

Operasi senyap; jangan cetak perintah itu kerana ia dilaksanakan.

-S

Batalkan kesan pilihan -k . Ini tidak perlu kecuali dalam membuat rekursif di mana -k mungkin diwarisi dari peringkat atas membuat melalui MAKEFLAGS atau jika anda menetapkan -k dalam MAKEFLAGS dalam persekitaran anda.

-t

Sentuh fail (tandakan mereka sehingga kini tanpa benar-benar mengubahnya) daripada menjalankan arahan mereka. Ini digunakan untuk berpura-pura bahawa arahan telah dilakukan, untuk menipu pemakaian masa depan.

-v

Cetak versi program membuat tambah hak cipta, senarai pengarang dan notis bahawa tiada jaminan.

-w

Cetak mesej yang mengandungi direktori kerja sebelum dan selepas pemprosesan lain. Ini mungkin berguna untuk menjejaki kesilapan dari sarang rumit membuat arahan rekursif.

-W fail

Berpura-pura bahawa fail sasaran baru sahaja diubah suai. Apabila digunakan dengan bendera -n , ini menunjukkan kepada anda apa yang akan berlaku jika anda mengubah suai fail tersebut. Tanpa -n , hampir sama dengan menjalankan arahan sentuhan pada fail yang diberikan sebelum menjalankan membuat , kecuali bahawa masa pengubahsuaian diubah hanya dalam imaginasi membuat .