Perintah dalam makefile
Blok deskripsi atau aturan inferensi menentukan blok perintah yang akan dijalankan jika dependensi sudah kedaluarsa. NMAKE menampilkan setiap perintah sebelum menjalankannya, kecuali /S
, , .SILENT
!CMDSWITCHES
, atau @
digunakan. NMAKE mencari aturan inferensi yang cocok jika blok deskripsi tidak diikuti oleh blok perintah.
Blok perintah berisi satu atau beberapa perintah, masing-masing pada barisnya sendiri. Tidak ada baris kosong yang dapat muncul antara dependensi atau aturan dan blok perintah. Namun, baris yang hanya berisi spasi atau tab dapat muncul; baris ini ditafsirkan sebagai perintah null, dan tidak ada kesalahan yang terjadi. Baris kosong diizinkan di antara baris perintah.
Baris perintah dimulai dengan satu atau beberapa spasi atau tab. Garis miring terbalik (\
) diikuti oleh karakter garis baru ditafsirkan sebagai spasi dalam perintah. Gunakan garis miring terbelakang di akhir baris untuk melanjutkan perintah ke baris berikutnya. NMAKE menginterpretasikan garis miring terbelakang secara harfiah jika ada karakter lain, termasuk spasi atau tab, mengikuti garis miring terbelakang.
Perintah yang didahului oleh titik koma (;
) dapat muncul pada baris dependensi atau aturan inferensi, apakah blok perintah mengikuti atau tidak:
project.obj : project.c project.h ; cl /c project.c
Pengubah perintah
Anda dapat menentukan satu atau beberapa pengubah perintah sebelum perintah, secara opsional dipisahkan oleh spasi atau tab. Seperti halnya perintah, pengubah harus diindentasi.
Pengubah | Tujuan |
---|---|
@ command |
Mencegah tampilan perintah. Tampilkan menurut perintah tidak ditekan. Secara default, NMAKE menggemakan semua perintah yang dijalankan. Gunakan /S untuk menekan tampilan untuk seluruh makefile; gunakan .SILENT untuk menekan tampilan untuk bagian dari makefile. |
- [angka] perintah |
Menonaktifkan pemeriksaan kesalahan untuk perintah. Secara default, NMAKE berhenti saat perintah mengembalikan kode keluar bukan nol. Jika -number digunakan, NMAKE akan berhenti jika kode keluar melebihi angka. Spasi atau tab tidak dapat muncul di antara tanda hubung dan angka. Setidaknya satu spasi atau tab harus muncul di antara angka dan perintah. Gunakan /I untuk menonaktifkan pemeriksaan kesalahan untuk seluruh makefile; gunakan .IGNORE untuk menonaktifkan pemeriksaan kesalahan untuk bagian dari makefile. |
! perintah |
Menjalankan perintah untuk setiap file dependen jika perintah menggunakan $** (semua file dependen dalam dependensi) atau $? (semua file dependen dalam dependensi dengan tanda waktu yang lebih baru dari target). |
Sintaksis nama file-bagian
Sintaks filename-parts dalam perintah mewakili komponen dari nama file dependen pertama (yang mungkin dependen tersirat). Komponen nama file adalah drive, jalur, nama dasar, dan ekstensi file seperti yang ditentukan, bukan seperti yang ada pada disk. Gunakan %s
untuk mewakili nama file lengkap. Gunakan %|
[bagian]F
(karakter bilah vertikal mengikuti simbol persen) untuk mewakili bagian dari nama file, di mana bagian dapat menjadi nol atau lebih dari huruf berikut, dalam urutan apa pun.
Letter | Deskripsi |
---|---|
Tidak ada huruf | Nama lengkap (sama dengan %s ) |
d |
Drive |
p |
Jalur |
f |
Nama dasar file |
e |
Ekstensi {i>file |
Misalnya, jika nama file adalah c:\prog.exe
:
%s
menjadic:\prog.exe
%|F
menjadic:\prog.exe
%|dF
menjadic
%|pF
menjadic:\
%|fF
menjadiprog
%|eF
menjadiexe