Tidak suka iklan? Pergi Bebas Iklan Hari ini

Pengatur Makefile

PengembangTeks
IKLAN · HAPUS?
MEMASUKKAN
Digunakan untuk mendeteksi indentasi spasi di awal yang seharusnya menjadi tab.
IKLAN · HAPUS?

Memandu

Format Makefile

Pengatur Makefile

Tempel Makefile Anda ke panel input — atau klik

Cara Penggunaan

  1. Tempel Makefile Anda ke panel input — atau klik Coba contoh ini untuk memuat contoh dengan masalah yang disengaja.
  2. Pilih lebar tab (digunakan untuk mendeteksi baris yang terindentasi yang seharusnya menjadi tab).
  3. Mengganti opsi pembersihan: mengubah spasi menjadi tab pada baris resep, memangkas spasi di akhir, mengatur kelanjutan baris kosong, mengatur spasi penugasan, dan opsional mengatur penugasan variabel berurutan.
  4. Uraikan ringkasan masalah dan daftar perbaikan per baris, lalu salin atau unduh Makefile yang telah diformat.

Fitur

  • Perbaikan tab resep – mengubah baris resep yang terindentasi dengan spasi menjadi terindentasi dengan tab (yang satu-satunya indentasi yang diterima GNU make).
  • Klasifikasi baris secara cerdas – membedakan target, penugasan variabel, kondisional (ifeq, else, endif), direktif (include, vpath, export), dan baris resep.
  • Penugasan spasi – mengnormalisasi spasi di sekitar =, :=, ::=, ?=, +=dan !=.
  • Penyesuaian kolom opsional – mengatur penugasan variabel berurutan ke kolom operator yang sama untuk kejelasan bacaan.
  • Laporan masalah – setiap perbaikan ditampilkan dengan nomor baris sumber sehingga Anda dapat memverifikasi perubahan.
  • Keamanan blok definisi – konten antara define dan endef disimpan secara persis.
  • Sepenuhnya sisi klien – Makefile Anda tidak akan keluar dari browser.

Tanya Jawab Umum

  1. Mengapa GNU make membutuhkan tab untuk baris resep?

    Parser Make menggunakan satu karakter tab sebagai prefix yang tidak ambigu yang menandai bahwa suatu baris merupakan bagian dari resep suatu aturan. Pilihan ini sudah ada sejak rilis pertama GNU make pada tahun 1977 dan diperkuat karena tab merupakan penanda yang andal di awal baris yang tidak akan bertabrakan dengan spasi di dalam penugasan variabel atau definisi target. Meskipun telah menyebabkan kebingungan selama beberapa dekade, mengubah aturan ini akan secara diam-diam menghancurkan jutaan Makefile yang ada, sehingga GNU make tetap menggunakan tab sebagai default RECIPEPREFIX.

  2. Apa perbedaan antara =, :=, ::=, ?=, += dan != dalam Makefile?

    Penugasan rekursif (=) menunda ekspansi hingga variabel digunakan, sehingga variabel yang dirujuk dicari saat digunakan. Penugasan sederhana (:=) dan penugasan POSIX sederhana (::=) mengembalikan nilai kanan secara langsung, sehingga nilai tetap pada saat definisi. Penugasan kondisional (?=) hanya menetapkan variabel jika saat ini belum didefinisikan, yang berguna untuk nilai default yang dapat diubah oleh lingkungan. Penugasan penambahan (+=) menambahkan ke nilai yang sudah ada, mempertahankan sifat rekursif atau sederhana dari nilai awal. Penugasan shell (!=) menjalankan bagian kanan sebagai perintah shell dan menyimpan hasilnya, mirip dengan backticks di shell.

  3. Apa perbedaan antara baris resep dan baris lanjutan?

    Baris resep adalah baris perintah yang terindentasi yang dijalankan sebagai bagian dari tindakan aturan; dalam make standar harus dimulai dengan karakter tab. Baris lanjutan adalah baris mana pun yang diakhiri dengan backslash pada baris sebelumnya, yang secara logis menggabungkan dua baris tersebut menjadi satu. Baris lanjutan mewarisi konteks dari baris sebelumnya, sehingga baris resep yang dilanjutkan tetap merupakan resep dan penugasan variabel yang dilanjutkan tetap merupakan penugasan. Indentasi pada baris lanjutan hanya bersifat estetika dan tidak mengubah cara make memarsirnya.

  4. Mengapa target .PHONY diperlukan dan bagaimana memengaruhi parsing?

    Deklarasi .PHONY memberi tahu make bahwa nama-nama yang disebutkan bukan file nyata tetapi label aksi, sehingga make harus selalu menjalankan resep mereka terlepas dari file dengan nama yang sama di direktori kerja. Tanpa itu, file bernama clean akan secara diam-diam menonaktifkan perintah make clean karena make akan menganggap target tersebut sudah diperbarui. .PHONY tidak mengubah parsing resep atau aturan indentasi — baris resep di bawah target phony tetap harus dimulai dengan tab — tetapi mengubah logika perbandingan waktu sehingga resep dianggap tidak diperbarui pada setiap pemanggilan.

Ingin bebas iklan? Bebas Iklan Hari Ini

Instal Ekstensi Kami

Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat

Ke Ekstensi Chrome Ke Ekstensi Tepi Ke Ekstensi Firefox Ke Ekstensi Opera

Papan Skor Telah Tiba!

Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!

IKLAN · HAPUS?
IKLAN · HAPUS?
IKLAN · HAPUS?

Pojok Berita dengan Sorotan Teknologi

Terlibat

Bantu kami untuk terus menyediakan alat gratis yang berharga

Belikan aku kopi
IKLAN · HAPUS?