Membuat - Perintah Linux - Perintah Unix

make - GNU membuat utilitas untuk memelihara kelompok program

Ringkasan

buat [ -f makefile ] [opsi] ... target ...

PERINGATAN

Halaman ini adalah ekstrak dokumentasi pembuatan GNU. Terkini hanya sesekali karena proyek GNU tidak menggunakan nroff. Untuk dokumentasi lengkap saat ini, lihat file Info make.info yang dibuat dari file sumber Texinfo make.texinfo .

Deskripsi

Tujuan dari utilitas make adalah untuk menentukan secara otomatis bagian mana dari program besar yang perlu dikompilasi ulang dan mengeluarkan perintah untuk mengkompilasi ulang mereka. Manual ini menjelaskan implementasi GNU make , yang ditulis oleh Richard Stallman dan Roland McGrath. Contoh-contoh kami menunjukkan program C karena mereka paling umum, tetapi Anda dapat menggunakan make dengan bahasa pemrograman yang kompilatornya dapat dijalankan dengan perintah shell. Bahkan, make tidak terbatas pada program. Anda dapat menggunakannya untuk mendeskripsikan setiap tugas di mana beberapa file harus diperbarui secara otomatis dari orang lain setiap kali yang lain berubah.

Untuk bersiap menggunakan make , Anda harus menulis file bernama makefile yang menggambarkan hubungan antar file dalam program Anda, dan menyatakan perintah untuk memperbarui setiap file. Dalam sebuah program, biasanya file yang dapat dieksekusi diperbarui dari file objek, yang pada gilirannya dibuat oleh kompilasi file sumber.

Setelah makefile yang cocok ada, setiap kali Anda mengubah beberapa file sumber, perintah shell sederhana ini:

membuat

cukup untuk melakukan semua rekompilasi yang diperlukan. Program make menggunakan basis data makefile dan waktu modifikasi terakhir dari file untuk memutuskan file mana yang perlu diperbarui. Untuk masing-masing file tersebut, ia mengeluarkan perintah yang dicatat dalam database.

buatlah menjalankan perintah di makefile untuk memperbarui satu atau lebih nama target, di mana nama biasanya adalah sebuah program. Jika tidak ada opsi -f , make akan mencari makefile GNUmakefile , makefile , dan Makefile , dalam urutan itu.

Biasanya Anda harus memanggil makefile Anda baik makefile atau Makefile . (Kami merekomendasikan Makefile karena tampak jelas di dekat awal daftar direktori, tepat di dekat file penting lainnya seperti README .) Nama depan yang dicentang, GNUmakefile , tidak disarankan untuk sebagian besar makefile. Anda harus menggunakan nama ini jika Anda memiliki makefile yang khusus untuk GNU, dan tidak akan dipahami oleh versi lain dari make . Jika makefile adalah `- ', input standar dibaca.

buat pembaruan target jika itu tergantung pada prasyarat file yang telah dimodifikasi sejak target terakhir diubah, atau jika target tidak ada.

PILIHAN

-b

-m

Opsi-opsi ini diabaikan untuk kompatibilitas dengan versi pembuatan lainnya .

-C dir

Ubah ke dir direktori sebelum membaca makefile atau melakukan hal lain. Jika beberapa opsi -C ditentukan, masing-masing ditafsirkan relatif terhadap yang sebelumnya: -C / -C dll setara dengan -C / etc. Ini biasanya digunakan dengan permintaan rekursif dari make .

-d

Cetak informasi debugging selain pemrosesan normal. Informasi debugging mengatakan file mana yang sedang dipertimbangkan untuk dibuat ulang, kali file mana yang dibandingkan dan dengan hasil apa, file mana yang sebenarnya perlu dibuat ulang, aturan implisit mana yang dipertimbangkan dan mana yang diterapkan --- semuanya menarik tentang bagaimana membuat keputusan Apa yang harus dilakukan.

-e

Berikan variabel yang diambil dari lingkungan diutamakan atas variabel dari makefile.

-f file

Gunakan file sebagai makefile.

-saya

Abaikan semua kesalahan dalam perintah yang dieksekusi untuk membuat ulang file.

-I dir

Menentukan direktori dir untuk mencari file make yang disertakan. Jika beberapa opsi -I digunakan untuk menentukan beberapa direktori, direktori dicari dalam urutan yang ditentukan. Tidak seperti argumen untuk tanda-tanda lain, direktori yang diberikan dengan bendera -I dapat datang langsung setelah bendera: -I dir diperbolehkan, dan juga -I dir. Sintaks ini dibolehkan untuk kompatibilitas dengan flag- I C preprocessor.

-j pekerjaan

Menentukan jumlah pekerjaan (perintah) untuk dijalankan secara bersamaan. Jika ada lebih dari satu opsi -j , yang terakhir efektif. Jika opsi -j diberikan tanpa argumen, make tidak akan membatasi jumlah pekerjaan yang dapat dijalankan secara bersamaan.

-k

Lanjutkan sebanyak mungkin setelah kesalahan. Sementara target yang gagal, dan yang bergantung padanya, tidak dapat dibuat ulang, dependensi lain dari target ini dapat diproses semua sama.

-l

-l beban

Menentukan bahwa tidak ada pekerjaan baru (perintah) yang harus dimulai jika ada pekerjaan lain yang berjalan dan rata-rata beban setidaknya memuat (angka floating-point). Tanpa argumen, hapus batas muatan sebelumnya.

-n

Cetak perintah yang akan dieksekusi, tetapi jangan jalankan.

file -o

Jangan membuat ulang file file meskipun lebih tua dari dependensinya, dan jangan membuat ulang apa pun karena perubahan file . Pada dasarnya file diperlakukan sebagai sangat tua dan aturannya diabaikan.

-p

Cetak basis data (aturan dan nilai variabel) yang dihasilkan dari membaca file makefile; lalu jalankan seperti biasa atau sebagaimana ditentukan lain. Ini juga mencetak informasi versi yang diberikan oleh saklar -v (lihat di bawah). Untuk mencetak basis data tanpa mencoba membuat ulang file apa pun, gunakan make -p -f / dev / null.

-q

`` Mode pertanyaan ''. Jangan menjalankan perintah apa pun, atau mencetak apa pun; hanya mengembalikan status keluar yang nol jika target yang ditentukan sudah diperbarui, bukan nol sebaliknya.

-r

Hilangkan penggunaan aturan implisit built-in. Juga hapus daftar default dari sufiks untuk aturan akhiran.

-s

Operasi senyap; jangan cetak perintah saat dieksekusi.

-S

Batalkan efek opsi -k . Hal ini tidak pernah diperlukan kecuali dalam membuat rekursif di mana -k mungkin diwariskan dari tingkat atas melalui MAKEFLAGS atau jika Anda menetapkan -k dalam MAKEFLAGS di lingkungan Anda.

-t

Sentuh file (tandai mereka terkini tanpa benar-benar mengubahnya) daripada menjalankan perintahnya. Ini digunakan untuk berpura-pura bahwa perintah-perintah itu dilakukan, untuk membodohi pemanggilan di masa depan.

-v

Cetak versi program make plus hak cipta, daftar penulis dan pemberitahuan bahwa tidak ada jaminan.

-w

Cetak pesan yang berisi direktori kerja sebelum dan setelah pemrosesan lainnya. Ini mungkin berguna untuk melacak kesalahan dari sarang rumit dari perintah make rekursif.

-W file

Berpura-pura bahwa file target baru saja dimodifikasi. Ketika digunakan dengan -n flag, ini menunjukkan kepada Anda apa yang akan terjadi jika Anda memodifikasi file itu. Tanpa -n , hampir sama dengan menjalankan perintah sentuh pada file yang diberikan sebelum menjalankan make , kecuali bahwa waktu modifikasi hanya diubah dalam imajinasi make .