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 ini menunjukkan program C kerana ia adalah yang paling biasa, tetapi anda boleh menggunakan make dengan bahasa pemrograman yang mana pengompilinya 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.
Catatan: 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.
Sintaks dan penyediaan membuat utiliti
buat -f makefile pilihan … sasaran …
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. Biasanya fail boleh laku dikemas kini dari fail objek, yang seterusnya dibuat dengan menyusun fail sumber.
Apabila ada makefile yang sesuai, setiap kali anda menukar beberapa fail sumber ini, 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.
Utiliti membuat perintah di makefile untuk mengemas kini satu atau lebih nama sasaran, di mana nama biasanya program. Jika tidak-f pilihan ada, membuat akan mencari makefilesGNUmakefile, makefile, danMakefile, dalam perintah itu.
Biasanya anda perlu memanggil fail makefile anda sama ada makefile atau Makefile. (Ia disyorkan untuk menggunakan Makefile kerana ia muncul dengan jelas berhampiran permulaan penyenaraian direktori, berhampiran dengan fail penting lain sepertiBACA SAYA.) Nama pertama yang diperiksa, fail GNUmake, tidak disyorkan untuk kebanyakan makefiles. Anda harus menggunakan nama ini jika anda mempunyai makefile yang khusus untuk membuat GNU dan tidak akan difahami oleh versi pembuatan lain. Jika membuat fail -, input standard dibaca.
The buat utiliti mengemas kini sasaran jika ia bergantung kepada fail prasyarat yang telah diubah suai sejak sasaran terakhir dimodifikasi, atau jika sasaran tidak wujud.
Pilihan
The -b dan -m pilihan diabaikan untuk keserasian dengan versi membuat yang lain.
-C dir akan berubah ke dir direktori sebelum membaca makefiles atau melakukan apa-apa lagi. Jika berbilang-C pilihan ditentukan, masing-masing ditafsirkan berbanding dengan yang terdahulu:-C/ -C dan sebagainya bersamaan dengan-C / etc. Ini biasanya digunakan dengan membuat rekursif membuat.
The -d pilihan akan mencetak maklumat debugging selain pemprosesan biasa. Maklumat debugging mengatakan fail mana yang sedang dipertimbangkan untuk diperbaiki semula, yang masa fail sedang dibandingkan dan dengan apa hasilnya, yang mana fail sebenarnya perlu dibuat semula, yang peraturan tersirat dipertimbangkan dan yang digunakan-semuanya menarik tentang bagaimana membuat keputusan apa yang harus dilakukan .
The -e pilihan memberikan pembolehubah yang diambil dari lingkungan yang lebih dekat ke atas pemboleh ubah dari makefiles.
The -f fail kegunaan pilihan fail sebagai fail makefile.
The -i pilihan mengabaikan semua ralat dalam arahan yang dilaksanakan untuk membuat semula fail.
The -I dir pilihan menentukan direktori dir untuk mencari makefiles yang disertakan. Jika beberapa-I opsyen digunakan untuk menentukan beberapa direktori, direktori dicari dalam perintah yang ditentukan. Tidak seperti hujah-hujah yang dibuat oleh bendera lain, direktori yang diberikan-I bendera boleh datang terus selepas bendera:-Idir dibenarkan, dan juga-I dir . Sintaks ini dibenarkan untuk keserasian dengan preprocessor C-I bendera.
The -j kerja pilihan menentukan bilangan pekerjaan (perintah) untuk dijalankan serentak. Sekiranya terdapat lebih daripada satu-j pilihan, yang terakhir adalah berkesan. Sekiranya-j pilihan diberikan tanpa hujah, membuat tidak akan menghadkan bilangan pekerjaan yang boleh dijalankan serentak.
The -k pilihan berterusan sebanyak mungkin selepas ralat; manakala sasaran yang gagal, dan yang bergantung kepadanya, tidak boleh dibuat semula, kebergantungan lain sasaran ini dapat diproses semuanya.
The -l dan -l beban opsyen menyatakan bahawa tiada pekerjaan baru (perintah) harus dimulakan jika ada pekerjaan lain yang berjalan, dan rata-rata beban sekurang-kurangnyabeban (nombor terapung). Dengan tiada hujah, ia membuang had beban sebelumnya.
The -n pilihan mencetak arahan yang akan dilaksanakan, tetapi tidak melaksanakannya.
The -o fail pilihan tidak memperbaharui semula fail walaupun ia lebih tua daripada kebergantungannya, dan tidak membuat semula apa-apa kerana perubahan dalam fail . Pada dasarnya fail dianggap sebagai sangat tua dan peraturannya diabaikan.
The -p pilihan mencetak pangkalan data (peraturan dan nilai pembolehubah) yang hasil daripada membaca makefiles. Ia kemudiannya dilaksanakan seperti biasa atau seperti dinyatakan sebaliknya.Ini juga mencetak maklumat versi yang diberikan oleh-v suis (lihat di bawah). Untuk mencetak pangkalan data tanpa mencuba membuat semula sebarang fail, gunakanbuat -p -f / dev / null .
The -q opsyen menetapkan mod soalan. Jangan jalankan apa-apa perintah atau cetak apa-apa, hanya kembali status keluar yang sifar jika sasaran yang ditentukan sudah terkini, sebaliknya.
The -r pilihan menghapuskan penggunaan peraturan tersirat terbina dalam. Juga memadam senarai lalai akhiran untuk peraturan akhiran.
The -s pilihan menyendiri operasi. Ia tidak mencetak arahan kerana ia dilaksanakan.
The -S pilihan membatalkan kesannya-k pilihan. Ini tidak perlu kecuali dalam membuat rekursif di mana-k mungkin diwarisi dari peringkat peringkat atas melalui MAKEFLAGS atau jika anda menetapkan-k dalam MAKEFLAGS dalam persekitaran anda.
The -t pilihan menyentuh fail (tandakan mereka sehingga kini tanpa benar-benar mengubahnya) dan bukannya menjalankan perintah mereka. Ini digunakan untuk berpura-pura bahawa arahan telah dilakukan, untuk menipu pemakaian masa depan.
The -v pilihan mencetak versi program membuat ditambah hak cipta, senarai penulis, dan notis yang tidak ada jaminan.
The -w pilihan mencetak mesej yang mengandungi direktori kerja sebelum dan selepas pemprosesan lain. Ini mungkin berguna untuk menjejaki kesilapan dari sarang rumit membuat rekursif arahan.
The -W fail pilihan berpura-pura sasaran itu fail baru sahaja diubahsuai. Apabila digunakan dengan-n bendera, ini menunjukkan kepada anda apa yang akan berlaku jika anda mengubah suai fail itu. Tanpa-n, ia hampir sama dengan berjalan asentuh arahan pada fail yang diberikan sebelum menjalankan membuat, kecuali bahawa masa pengubah suai diubah hanya dalam imaginasi membuat.