GoGPT Best VPN GoSearch

favorit OnWorks

fmake - Online di Cloud

Jalankan fmake di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah fmake yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


membuat — menjaga ketergantungan program

RINGKASAN


membuat [-ABPSXeiknpqrstv] [-C direktori] [-D variabel] [-d bendera] [-E variabel] [-f makefile]
[-I direktori] [-j max_jobs] [-m direktori] [-V variabel] [-x peringatan_pilihan]
[variabel=nilai] [target ...]

DESKRIPSI


The membuat utilitas adalah program yang dirancang untuk menyederhanakan pemeliharaan program lain. Nya
input adalah daftar spesifikasi yang menjelaskan hubungan ketergantungan antara generasi
dari file dan program.

Pertama-tama, daftar spesifikasi awal akan dibaca dari makefile sistem,
sys.mk, kecuali dihambat dengan -r pilihan. Standar sys.mk seperti yang dikirimkan dengan FreeBSD
juga menangani buat.conf(5), jalur default yang dapat diubah melalui membuat variabel
__BUAT_CONF.

Kemudian yang pertama BSDmakefile, makefile, dan Makefile yang dapat ditemukan di saat ini
direktori, direktori objek (lihat .OBJDIR), atau jalur pencarian (lihat -I pilihan) akan dibaca
untuk daftar utama spesifikasi ketergantungan. Makefile atau daftar yang berbeda dapat berupa
disediakan melalui -f pilihan). Akhirnya, jika file .bergantung dapat ditemukan di salah satu
lokasi tersebut di atas, itu juga akan dibaca (lihat mkdep(1)).

Ketika membuat mencari makefile, namanya lebih diutamakan daripada lokasinya. Untuk
contoh, BSDmakefile di direktori objek akan lebih disukai Makefile pada saat ini
direktori.

Pilihannya adalah sebagai berikut:

-A Jadikan kesalahan arsip tidak fatal, menyebabkan membuat untuk melewatkan sisa atau semuanya
arsipkan dan lanjutkan setelah mencetak pesan.

-B Cobalah untuk kompatibel dengan menjalankan satu shell per perintah dan dengan
mengeksekusi perintah untuk membuat sumber garis ketergantungan secara berurutan. Ini
diaktifkan secara default kecuali -j digunakan.

-C direktori
Mengubah direktori sebelum membaca makefile atau melakukan hal lain. Jika
beberapa -C opsi ditentukan, masing-masing ditafsirkan relatif terhadap yang sebelumnya:
-C / -C dll adalah setara dengan -C / Etc.

-D variabel
Menetapkan variabel menjadi 1, dalam konteks global.

-d bendera
Aktifkan debugging, dan tentukan bagian mana dari membuat adalah untuk mencetak debugging
informasi. Argumen bendera adalah satu atau lebih dari berikut ini:

A Cetak semua informasi debug yang mungkin; setara dengan menentukan semua
tanda debug.

a Cetak informasi debug tentang pencarian arsip dan caching.

c Cetak informasi debug tentang evaluasi bersyarat.

d Cetak informasi debug tentang pencarian direktori dan caching.

f Cetak informasi debug tentang eksekusi for loop.

g1 Cetak grafik input sebelum membuat apa pun.

g2 Cetak grafik input setelah membuat semuanya, atau sebelum keluar karena kesalahan.

j Cetak informasi debug tentang menjalankan banyak shell.

l Perintah cetak di Makefiles terlepas dari apakah itu diawali atau tidak
oleh @ atau bendera "tenang" lainnya. Juga dikenal sebagai perilaku "keras".

m Cetak informasi debug tentang membuat target, termasuk modifikasi
tanggal.

s Cetak informasi debug tentang aturan transformasi sufiks.

t Cetak informasi debug tentang pemeliharaan daftar target.

v Cetak informasi debug tentang penetapan variabel.

-E variabel
Tentukan variabel yang nilai lingkungannya (jika ada) akan menggantikan tugas makro
dalam makefile.

-e Tentukan bahwa nilai lingkungan menimpa penetapan makro dalam makefiles untuk semua
variabel.

-f makefile
Tentukan makefile untuk dibaca alih-alih yang default. Jika makefile bukan
nama jalur absolut, membuat akan mencarinya seperti yang dijelaskan di atas. Dalam hal makefile is
'-', input standar dibaca. beberapa -f opsi dapat diberikan, dan makefiles
akan dibaca dalam urutan itu. Tidak seperti opsi baris perintah lainnya, -f bukan keduanya
disimpan di .BUAT BENDERA atau didorong ke sub-merek melalui MAKEFLAGS. Lihat di bawah untuk lebih lanjut
detail tentang variabel-variabel ini.

-I direktori
Tentukan direktori untuk mencari makefile dan makefile yang disertakan.
kelipatan -I opsi dapat ditentukan untuk membentuk jalur pencarian. Sistem makefile
direktori (atau direktori, lihat -m opsi) secara otomatis ditambahkan di bagian ekor
dari jalan ini.

-i Abaikan keluar bukan nol dari perintah shell di makefile. Setara dengan menentukan
'-' sebelum setiap baris perintah di makefile.

-j max_jobs
Tentukan jumlah maksimum pekerjaan yang membuat mungkin telah berjalan pada satu waktu.
Menonaktifkan mode kompatibilitas, kecuali jika -B bendera juga ditentukan.

-k Lanjutkan pemrosesan setelah kesalahan ditemukan, tetapi hanya pada target yang melakukannya
tidak tergantung pada target yang pembuatannya menyebabkan kesalahan.

-m direktori
Tentukan direktori untuk mencari sistem makefile dan makefiles
disertakan melalui gaya <...>. beberapa -m opsi dapat ditentukan untuk membentuk pencarian
jalur. Jalur ini akan menimpa sistem default termasuk jalur,
/usr/share/mk-freebsd. Sistem termasuk jalur akan selalu ditambahkan ke
jalur pencarian yang digunakan untuk inklusi gaya "..." dan pencarian makefile (lihat -I
pilihan).

Jika nama file atau direktori di -m argumen (atau lingkungan MAKESYSPATH
variabel) dimulai dengan string ".../" lalu membuat akan mencari file yang ditentukan
atau direktori bernama di bagian yang tersisa dari string argumen. Pencarian dimulai
dengan direktori Makefile saat ini dan kemudian bekerja ke atas menuju root
sistem file. Jika pencarian berhasil, maka direktori yang dihasilkan menggantikan
spesifikasi ".../" di -m argumen. Jika digunakan, fitur ini memungkinkan membuat untuk
dengan mudah mencari di pohon sumber saat ini untuk file sys.mk yang disesuaikan (misalnya dengan menggunakan
".../mk/sys.mk" sebagai argumen). Perhatikan bahwa -C yang sebelumnya pada perintah
garis mempengaruhi di mana -m ".../" mencari.

-n Tampilkan perintah yang akan dieksekusi, tetapi tidak benar-benar dijalankan
Mereka.

-P Susun output dari pekerjaan tertentu dan tampilkan hanya saat pekerjaan selesai
pencampuran output dari pekerjaan paralel bersama-sama. Opsi ini tidak berpengaruh kecuali -j
digunakan juga.

-p Hanya mencetak grafik input, tidak menjalankan perintah apa pun. Outputnya sama dengan
-d g1. Ketika dikombinasikan dengan -f / dev / null, hanya aturan bawaan dari membuat adalah
ditampilkan.

-Q Bersikaplah ekstra tenang. Untuk pembuatan multi-job, ini akan menyebabkan file banner tidak menjadi
dihasilkan.

-q Jangan menjalankan perintah apa pun, tetapi keluar dari 0 jika target yang ditentukan adalah yang terbaru dan
1, sebaliknya.

-r Jangan memproses makefile sistem.

-S Hentikan pemrosesan saat terjadi kesalahan. Perilaku bawaan. Ini diperlukan untuk
meniadakan -k opsi selama pembuatan rekursif.

-s Jangan menggemakan perintah apa pun saat dijalankan. Setara dengan menentukan '@' sebelum
setiap baris perintah di makefile.

-t Daripada membangun kembali target seperti yang ditentukan dalam makefile, buat atau perbarui
waktu modifikasi untuk membuatnya tampak up-to-date.

-V variabel
Mencetak membuatgagasan tentang nilai variabel, dalam konteks global. Jangan membangun apapun
target. Beberapa contoh opsi ini dapat ditentukan; variabelnya menjadi
dicetak satu per baris, dengan baris kosong untuk setiap variabel nol atau tidak terdefinisi. Jika
variabel berisi '$' maka nilainya akan diperluas sebelum dicetak.

-v Jadilah ekstra verbose. Cetak informasi tambahan apa pun.

-X Saat menggunakan -V opsi untuk mencetak nilai variabel, jangan diperluas secara rekursif
nilai.

variabel=nilai
Tetapkan nilai variabel variabel untuk nilai.

-x peringatan_pilihan
Tentukan opsi peringatan yang diperluas. Opsi ini dapat ditentukan beberapa kali. A
opsi_peringatan dapat diawali dengan "tidak" dalam hal ini peringatan dimatikan.
Opsi yang tersedia saat ini adalah:

disintaksis
Peringatkan jika ada yang kosong dan komentar mengikuti dan .berakhir jika or .lain
Directive.

Lihat juga .MEMPERINGATKAN sasaran khusus.

Ada tujuh jenis baris yang berbeda dalam makefile: spesifikasi ketergantungan file,
perintah shell, tugas variabel, termasuk pernyataan, arahan bersyarat, untuk loop,
dan komentar.

Secara umum, baris dapat dilanjutkan dari satu baris ke baris berikutnya dengan mengakhirinya dengan garis miring terbalik
('\'). Karakter baris baru tambahan dan spasi awal pada baris berikut adalah
dikompresi menjadi satu ruang.

FILE KETERGANTUNGAN SPESIFIKASI


Garis ketergantungan terdiri dari satu atau lebih target, operator, dan nol atau lebih sumber.
Ini menciptakan hubungan di mana target "bergantung" pada sumber dan biasanya
diciptakan dari mereka. Hubungan yang tepat antara target dan sumber ditentukan
oleh operator yang memisahkannya. Ketiga operator tersebut adalah sebagai berikut:

: Target dianggap kedaluwarsa jika waktu modifikasinya kurang dari target mana pun
dari sumbernya. Sumber untuk target terakumulasi melalui garis ketergantungan saat ini
operator digunakan. Target dihapus jika membuat terganggu.

! Target selalu dibuat ulang, tetapi tidak sampai semua sumber diperiksa dan dibuat ulang.
dibuat sesuai kebutuhan. Sumber untuk target terakumulasi melalui garis ketergantungan saat ini
operator digunakan. Target dihapus jika membuat terganggu.

:: Jika tidak ada sumber yang ditentukan, target selalu dibuat ulang. Jika tidak, targetnya adalah
dianggap ketinggalan zaman jika salah satu sumbernya telah dimodifikasi lebih baru daripada
target. Sumber untuk target tidak terakumulasi melalui garis ketergantungan saat ini
operator digunakan. Target tidak akan dihapus jika membuat terganggu.

Target dan sumber mungkin berisi ekspresi wildcard shell '?', '*', '[]' dan '{}'. NS
ekspresi '?', '*' dan '[]' hanya dapat digunakan sebagai bagian dari komponen akhir dari target
atau sumber, dan harus digunakan untuk mendeskripsikan file yang ada. Ekspresi '{}' tidak perlu
harus digunakan untuk menggambarkan file yang ada. Perluasan dalam urutan direktori, bukan
abjad seperti yang dilakukan di shell.

SHELL PERINTAH


Setiap target mungkin telah menghubungkannya dengan serangkaian perintah shell, biasanya digunakan untuk membuat
target. Setiap perintah dalam skrip ini harus didahului oleh tab. Sementara apapun
target mungkin muncul pada garis dependensi, hanya satu dari dependensi ini yang dapat diikuti oleh a
skrip pembuatan, kecuali '::' operator digunakan.

Jika karakter pertama dari baris perintah adalah '@','-', dan/atau '+', perintahnya diperlakukan
khususnya. A '@' menyebabkan perintah tidak digaungkan sebelum dieksekusi. A '-' penyebab
setiap status keluar bukan nol dari baris perintah untuk diabaikan. A '+' menyebabkan perintah menjadi
dieksekusi bahkan jika -n ditentukan pada baris perintah.

VARIABEL TUGAS


Variabel dalam membuat sangat mirip dengan variabel dalam cangkang, dan, menurut tradisi, terdiri dari semua
huruf besar. Lima operator yang dapat digunakan untuk memberikan nilai ke variabel adalah
sebagai berikut:

= Tetapkan nilai ke variabel. Setiap nilai sebelumnya diganti.

+= Tambahkan nilai ke nilai variabel saat ini.

?= Tetapkan nilai ke variabel jika belum ditentukan.

:= Tetapkan dengan ekspansi, yaitu, perluas nilai sebelum menetapkannya ke variabel.
Biasanya, ekspansi tidak dilakukan sampai variabel direferensikan.

!= Perluas nilainya dan berikan ke shell untuk dieksekusi dan tetapkan hasilnya ke
variabel. Setiap baris baru dalam hasil diganti dengan spasi.

Spasi apa pun sebelum ditetapkan nilai dihapus; jika nilainya ditambahkan, a
spasi tunggal disisipkan di antara konten variabel sebelumnya dan yang ditambahkan
nilai.

Variabel diperluas dengan mengapit nama variabel dengan kurung kurawal ('{}') atau
kurung ('()') dan mendahuluinya dengan tanda dolar ('$'). Jika nama variabel mengandung
hanya satu huruf, kurung kurawal atau tanda kurung tidak diperlukan. Ini lebih pendek
bentuk tidak dianjurkan.

Substitusi variabel terjadi pada dua waktu yang berbeda, tergantung di mana variabel tersebut berada
digunakan. Variabel dalam garis ketergantungan diperluas saat garis dibaca. Variabel dalam shell
perintah diperluas ketika perintah shell dijalankan.

Empat kelas variabel yang berbeda (dalam urutan prioritas yang meningkat) adalah:

Variabel lingkungan
Variabel didefinisikan sebagai bagian dari membuatlingkungan.

Variabel global
Variabel yang didefinisikan dalam makefile atau dalam makefile yang disertakan.

Variabel baris perintah
Variabel didefinisikan sebagai bagian dari baris perintah dan variabel yang diperoleh dari
Variabel lingkungan MAKEFLAGS atau .BUAT BENDERA target.

Variabel lokal
Variabel yang didefinisikan khusus untuk target tertentu.

Jika nama variabel lingkungan muncul di makefile di sisi kiri sebuah
penugasan, variabel global dengan nama yang sama dibuat, dan yang terakhir membayangi
mantan sesuai dengan prioritas relatif mereka. Lingkungan tidak berubah dalam hal ini, dan
perubahan tidak diekspor ke program yang dijalankan oleh membuat. Namun, variabel baris perintah
sebenarnya menggantikan variabel lingkungan dengan nama yang sama jika yang terakhir ada, yaitu
terlihat oleh program anak.

Ada tujuh variabel lokal di membuat:

.ALLSRC Daftar semua sumber untuk target ini; juga dikenal sebagai '>'.

.ARSIP Nama file arsip; juga dikenal sebagai '!'.

.IMPSRC Nama/jalur sumber dari mana target akan diubah (the
sumber "tersirat"); juga dikenal sebagai '<'.

.ANGGOTA nama anggota arsip; juga dikenal sebagai '%'.

.ODATE Daftar sumber untuk target ini yang dianggap ketinggalan zaman; juga dikenal sebagai
'?'.

.AWALAN Awalan file dari file, hanya berisi bagian file, tanpa akhiran atau
komponen direktori sebelumnya; juga dikenal sebagai '*'.

.TARGET Nama sasaran; juga dikenal sebagai '@'.

Bentuk yang lebih pendek '@','!','<','%','?','>', dan'*' diperbolehkan untuk mundur
kompatibilitas dan tidak direkomendasikan. Enam variabel '@F','@D','<F','<D','*F', dan
'*D' diizinkan untuk kompatibilitas dengan AT&T System V UNIX makefiles dan tidak
direkomendasikan.

Empat dari variabel lokal dapat digunakan dalam sumber pada garis ketergantungan karena mereka berkembang
ke nilai yang tepat untuk setiap target di telepon. Variabel ini adalah .TARGET, .AWALAN,
.ARSIP, dan .ANGGOTA.

Selain itu, membuat menetapkan atau mengetahui tentang variabel internal atau lingkungan berikut:
variabel:

$ Tanda dolar tunggal '$', yaitu '$$' berkembang menjadi tanda dolar tunggal.

MEMBUAT Nama itu membuat dieksekusi dengan (argumen[0]).

.CURDIR Jalur ke direktori tempat membuat dieksekusi. NS membuat set utilitas
.CURDIR ke jalur kanonik yang diberikan oleh dapatkan cwd(3).

.OBJDIR Jalur ke direktori tempat target dibuat. Saat memulai, membuat
mencari direktori alternatif untuk menempatkan file target. Ini akan mencoba
untuk mengubah ke direktori khusus ini dan akan mencari direktori ini untuk
makefiles tidak ditemukan di direktori saat ini. Direktori berikut adalah
dicoba secara berurutan:

1. ${MAKEOBJDIRPREFIX}/`pwd -P`
2. ${MAKEOBJDIR}
3. obj.${MESIN}
4. keberatan
5. /usr/obj/`pwd -P`

Direktori pertama yang membuat berhasil diubah menjadi digunakan. jika baik
MAKEOBJDIRPREFIX atau MAKEOBJDIR diatur di lingkungan tetapi membuat tidak bisa
untuk mengubah ke direktori yang sesuai, maka direktori saat ini adalah
digunakan tanpa memeriksa sisa daftar. Jika mereka tidak terdefinisi dan
membuat tidak dapat mengubah ke salah satu dari tiga direktori yang tersisa, maka
direktori saat ini digunakan. Perhatikan, bahwa MAKEOBJDIRPREFIX dan MAKEOBJDIR
harus berupa variabel lingkungan dan tidak boleh diaktifkan membuatbaris perintah.

The membuat set utilitas .OBJDIR ke jalur kanonik yang diberikan oleh dapatkan cwd(3).

.MAKEFILE_LIST As membuat membaca berbagai makefile, termasuk file default dan apapun
diperoleh dari baris perintah dan .termasuk dan .termasuk arahan, mereka
nama akan secara otomatis ditambahkan ke .MAKEFILE_LIST variabel. Mereka
ditambahkan tepat sebelum membuat mulai menguraikannya, sehingga nama
makefile saat ini adalah kata terakhir dalam variabel ini.

MAKEFLAGS Variabel lingkungan MAKEFLAGS awalnya mungkin berisi apa saja yang mungkin
ditentukan pada membuatbaris perintah, termasuk -f pilihan). Setelah
diproses, isinya disimpan di .BUAT BENDERA variabel global,
meskipun ada -f pilihan dihilangkan. Kemudian semua opsi dan variabel
tugas yang ditentukan pada membuatbaris perintah, kecuali untuk -f, ditambahkan ke
itu .BUAT BENDERA variabel.

Kapan saja membuat mengeksekusi sebuah program, ia menetapkan MAKEFLAGS dalam program's
lingkungan dengan nilai saat ini dari .BUAT BENDERA variabel global. Dengan demikian,
jika MAKEFLAGS di membuatlingkungan berisi apa saja -f pilihan, mereka tidak akan
didorong ke program anak secara otomatis. NS membuat utilitas secara efektif
menyaring -f opsi dari lingkungan dan baris perintah meskipun itu
meneruskan sisa opsinya ke sub-make melalui MAKEFLAGS secara default.

Saat meneruskan definisi makro dan argumen bendera di MAKEFLAGS
variabel lingkungan, spasi, dan karakter tab dikutip dengan mendahuluinya
dengan garis miring terbalik. Saat membaca variabel MAKEFLAGS dari lingkungan,
semua urutan garis miring terbalik dan salah satu spasi atau tab diganti hanya dengan
karakter kedua mereka tanpa menyebabkan jeda kata. Kejadian lainnya
dari garis miring terbalik dipertahankan. Grup ruang tanpa tanda kutip, tab, dan baris baru
karakter menyebabkan pemutusan kata.

.BUAT BENDERA Awalnya, variabel global ini berisi membuatopsi run-time saat ini
dari lingkungan dan baris perintah seperti yang dijelaskan di atas, di bawah MAKEFLAGS.
Dengan memodifikasi konten .BUAT BENDERA variabel global, makefile
dapat mengubah konten variabel lingkungan MAKEFLAGS yang tersedia
untuk semua program yang membuat mengeksekusi. Ini termasuk menambahkan -f pilihan).
Nilai saat ini dari .BUAT BENDERA baru saja disalin kata demi kata ke MAKEFLAGS di
lingkungan program anak.

Perhatikan bahwa opsi apa pun yang dimasukkan ke .BUAT BENDERA tidak mempengaruhi arus
contoh membuat atau muncul di salinan MAKEFLAGS-nya sendiri secara instan.
Namun, mereka muncul di variabel lingkungan program MAKEFLAGS
dieksekusi oleh membuat. Di sisi lain, penugasan langsung ke MAKEFLAGS
tidak mempengaruhi contoh saat ini dari membuat juga tidak diturunkan ke membuat's
anak-anak. Bandingkan dengan .BUAT BENDERA sasaran khusus di bawah ini.

MFLAG Variabel ini disediakan untuk kompatibilitas mundur dan berisi semua
opsi dari variabel lingkungan MAKEFLAGS ditambah opsi apa pun yang ditentukan
on membuatbaris perintah.

.BUAT.PID ID proses dari membuat.

.BUAT.PPID Proses-id induk dari membuat.

.BUAT.JOB.PREFIX
If membuat dijalankan dengan -j -v kemudian output untuk setiap target diawali dengan a
token '--- target ---' bagian pertama yang dapat dikontrol melalui
.BUAT.JOB.PREFIX.
Misalnya: .MAKE.JOB.PREFIX=${.newline}---${MAKE:T}[${.MAKE.PID}] akan
menghasilkan token seperti '---make[1234] target ---' atau
.MAKE.JOB.PREFIX=---pid[${.MAKE.PID}],ppid[${.MAKE.PPID}] akan menghasilkan
token seperti '---pid[56789],ppid[1234] target ---' membuatnya lebih mudah untuk dilacak
derajat paralelisme yang dicapai.

.TARGET Daftar target membuat sedang membangun.

.TERMASUK Lihat .TERMASUK sasaran khusus.

.LIBS Lihat .LIBS sasaran khusus.

MESIN Nama arsitektur mesin membuat sedang berjalan, diperoleh dari
Variabel lingkungan MESIN, atau melalui nama kamu(3) jika tidak ditentukan.

MESIN_ARCH Nama arsitektur mesin membuat dikompilasi untuk, didefinisikan di
waktu kompilasi.

VPATH Makefiles dapat menetapkan daftar direktori yang dibatasi titik dua untuk VPATH. Ini
direktori akan dicari untuk file sumber dengan membuat setelah selesai
mem-parsing semua input makefile.

Variabel Pengubah
Perluasan variabel dapat dimodifikasi untuk memilih atau memodifikasi setiap kata dari variabel (di mana a
"word" adalah urutan karakter yang dibatasi spasi). Format umum dari sebuah variabel
ekspansi adalah sebagai berikut:

{variabel[:pengubah[:...]]}

Setiap pengubah dimulai dengan titik dua dan salah satu karakter khusus berikut. usus besar
dapat diloloskan dengan garis miring terbalik ('\').

:C/belt hold/penggantian/[1g]
Ubah setiap kata dari nilainya, ganti setiap kecocokan dari reguler yang diperpanjang
ekspresi belt hold (Lihat format ulang(7)) dengan ed(1)-gaya penggantian String.
Biasanya, kemunculan pertama dari pola di setiap kata dari nilai adalah
berubah. Pengubah '1' menyebabkan substitusi berlaku untuk paling banyak satu kata;
pengubah 'g' menyebabkan substitusi diterapkan ke sebanyak mungkin instance dari
pola pencarian seperti yang terjadi pada kata atau kata-kata yang ditemukannya. Perhatikan bahwa '1' dan
'g' adalah ortogonal; yang pertama menentukan apakah beberapa kata berpotensi
terpengaruh, yang terakhir apakah beberapa substitusi berpotensi terjadi dalam
setiap kata yang terpengaruh.

:E Mengganti setiap kata dalam variabel dengan akhirannya.

:H Mengganti setiap kata dalam variabel dengan segalanya kecuali komponen terakhir.

:L Mengubah variabel menjadi huruf kecil. (tidak digunakan lagi)

:Mbelt hold Pilih hanya kata-kata yang cocok dengan pengubah lainnya. Cangkang standar
karakter wildcard ('*', '?', dan '[]') dapat digunakan. Karakter wildcard
dapat diloloskan dengan garis miring terbalik ('\').

:Nbelt hold Ini identik dengan :M, tetapi memilih semua kata yang tidak cocok dengan kata lainnya
pengubah.

:O Urutkan setiap kata dalam variabel menurut abjad.

:Q Mengutip setiap karakter meta shell dalam variabel, sehingga dapat diteruskan
dengan aman melalui pemanggilan rekursif dari membuat.

:R Menggantikan setiap kata dalam variabel dengan segalanya kecuali sufiksnya.

:S/string_lama/string_baru/[g]
Ubah kemunculan pertama dari string_lama di setiap kata dari nilai variabel,
menggantinya dengan string_baru. Jika 'g' ditambahkan ke garis miring terakhir dari
pola, semua kemunculan di setiap kata diganti. Jika string_lama dimulai dengan a
tanda sisipan ('^'), string_lama berlabuh di awal setiap kata. Jika
string_lama diakhiri dengan tanda dolar ('$'), itu berlabuh di akhir masing-masing
kata. Dalam string_baru, tanda ampersand ('&') diganti dengan string_lama. Apa saja
karakter dapat digunakan sebagai pembatas untuk bagian dari string pengubah. NS
karakter penahan, ampersand, dan pembatas dapat diloloskan dengan garis miring terbalik
('\').

Ekspansi variabel terjadi dengan cara normal di dalam keduanya string_lama dan
string_baru dengan satu pengecualian bahwa garis miring terbalik digunakan untuk mencegah
perluasan tanda dolar ('$'), bukan tanda dolar sebelumnya seperti biasanya.

:string_lama=string_baru
Ini adalah substitusi variabel gaya AT&T System V UNIX. Itu pasti yang terakhir
pengubah ditentukan. Jika string_lama or string_baru tidak mengandung pola
karakter yang cocok % maka diasumsikan bahwa mereka berlabuh di ujung
setiap kata, jadi hanya sufiks atau seluruh kata yang boleh diganti. Sebaliknya % adalah
substring dari string_lama untuk diganti di string_baru.

:T Mengganti setiap kata dalam variabel dengan komponen terakhirnya.

: tl Mengubah variabel menjadi huruf kecil.

: tu Mengubah variabel menjadi huruf besar.

:U Mengubah variabel menjadi huruf besar. (tidak digunakan lagi)

:u Hapus kata duplikat yang berdekatan (seperti unik(1)).

PETUNJUK, SYARAT, DAN UNTUK LOOP


Direktif, kondisional, dan untuk loop yang mengingatkan pada bahasa pemrograman C adalah
disediakan di membuat. Semua struktur tersebut diidentifikasi oleh garis yang dimulai dengan satu titik
('.') karakter. Arahan berikut didukung:

.termasuk

.termasuk "mengajukan"
Sertakan makefile yang ditentukan. Variabel antara kurung sudut atau ganda
kutipan diperluas untuk membentuk nama file. Jika kurung sudut digunakan, yang disertakan
makefile diharapkan berada di direktori sistem makefile. Jika tanda kutip ganda adalah
digunakan, termasuk direktori makefile dan direktori apa pun yang ditentukan menggunakan -I
opsi dicari sebelum direktori sistem makefile.

.termasuk

.termasuk "mengajukan"
Seperti .termasuk, tetapi diam-diam diabaikan jika file tidak dapat ditemukan dan dibuka.

.undef variabel
Batalkan definisi variabel global yang ditentukan. Hanya variabel global yang tidak dapat ditentukan.

.kesalahan pesan
Hentikan pemrosesan makefile segera. Nama file makefile, the
baris tempat kesalahan ditemukan dan pesan yang ditentukan dicetak ke
keluaran kesalahan standar dan membuat diakhiri dengan kode keluar 1. Variabel dalam
pesan diperluas.

.peringatan pesan
Memancarkan pesan peringatan. Nama file makefile, baris di mana peringatan
ditemui, dan pesan yang ditentukan dicetak ke output kesalahan standar.
Variabel dalam pesan diperluas.

Conditional digunakan untuk menentukan bagian Makefile mana yang akan diproses. Mereka digunakan
mirip dengan kondisional yang didukung oleh pra-prosesor C. syarat berikut
didukung:

.jika [!]ekspresi [operator ekspresi ...]
Uji nilai ekspresi.

.ifdef [!]variabel [operator variabel ...]
Uji nilai variabel.

.ifndef [!]variabel [operator variabel ...]
Uji nilai variabel.

.ifmake [!]target [operator target ...]
Uji target yang sedang dibangun.

.ifnmake [!]target [operator target ...]
Uji target yang sedang dibangun.

.lain Membalikkan pengertian kondisional terakhir.

.elif [!]ekspresi [operator ekspresi ...]
Kombinasi dari .lain diikuti oleh .jika.

.elifdef [!]variabel [operator variabel ...]
Kombinasi dari .lain diikuti oleh .ifdef.

.elifndef [!]variabel [operator variabel ...]
Kombinasi dari .lain diikuti oleh .ifndef.

.elifmake [!]target [operator target ...]
Kombinasi dari .lain diikuti oleh .ifmake.

.elifnmake [!]target [operator target ...]
Kombinasi dari .lain diikuti oleh .ifnmake.

.berakhir jika Akhiri tubuh bersyarat.

The operator mungkin salah satu dari berikut ini:

|| Logis atau

&& logis DAN; diprioritaskan lebih tinggi dari '||'.

Seperti di C, membuat hanya akan mengevaluasi suatu kondisi sejauh diperlukan untuk menentukan
nilai. Tanda kurung dapat digunakan untuk mengubah urutan evaluasi. operator boolean '!'
dapat digunakan untuk secara logis meniadakan seluruh kondisional. Ini adalah prioritas yang lebih tinggi daripada
'&&'.

Nilai dari ekspresi mungkin salah satu dari berikut ini:

didefinisikan Mengambil nama variabel sebagai argumen dan mengevaluasi ke true jika variabel memiliki
telah didefinisikan.

membuat Mengambil nama target sebagai argumen dan mengevaluasi ke true jika targetnya
ditentukan sebagai bagian dari membuatbaris perintah atau dinyatakan sebagai target default
(baik secara implisit atau eksplisit, lihat .UTAMA) sebelum baris yang mengandung
bersyarat.

kosong Mengambil variabel, dengan kemungkinan pengubah, dan mengevaluasi ke true jika
perluasan variabel akan menghasilkan string kosong.

ada Mengambil nama file sebagai argumen dan mengevaluasi ke true jika file tersebut ada. NS
file dicari di jalur pencarian sistem (lihat .JALUR).

target Mengambil nama target sebagai argumen dan mengevaluasi ke true jika target telah
didefinisikan.

An ekspresi juga dapat berupa perbandingan numerik atau string: dalam hal ini, sisi kiri
harus be ekspansi variabel, sedangkan ruas kanan dapat berupa konstanta atau variabel
ekspansi. Ekspansi variabel dilakukan di kedua sisi, setelah itu nilai yang dihasilkan
dibandingkan. Suatu nilai diinterpretasikan sebagai heksadesimal jika didahului dengan 0x, jika tidak
adalah desimal; angka oktal tidak didukung.

Perbandingan string hanya dapat menggunakan '==' atau '!=' operator, sedangkan nilai numerik (keduanya
integer dan floating point) juga dapat dibandingkan menggunakan '>','>=','<'Dan'<='
operator.

Jika tidak ada operator relasional (dan nilai tangan kanan) yang diberikan, sebuah implisit '!= 0' digunakan.
Namun berhati-hatilah dalam menggunakan fitur ini terutama ketika variabel sisi kiri
ekspansi mengembalikan string.

Ketika membuat sedang mengevaluasi salah satu ekspresi kondisional ini, dan menemukan kata it
tidak mengenali, baik ekspresi "make" atau "defined" diterapkan padanya, tergantung pada
bentuk kondisional. Jika bentuknya adalah .jika, .ifdef or .ifndef, yang "ditentukan"
ekspresi diterapkan. Demikian pula, jika bentuknya adalah .ifmake or .ifnmake, ekspresi "buat"
diterapkan.

Jika conditional bernilai true, penguraian makefile berlanjut seperti sebelumnya. Jika
bernilai false, baris berikut dilewati. Dalam kedua kasus ini berlanjut sampai a
.lain or .berakhir jika ditemukan.

Untuk loop biasanya digunakan untuk menerapkan seperangkat aturan ke daftar file. Sintaks dari a
untuk loop adalah:

.untuk variabel in ekspresi

.endfor

Setelah untuk ekspresi dievaluasi, itu dibagi menjadi kata-kata. Iterasi variabel is
berturut-turut diatur ke setiap kata, dan diganti dalam membuat-aturan di dalam tubuh for
Loop.

KOMENTAR


Komentar dimulai dengan karakter hash ('#'), di mana saja kecuali di baris perintah shell, dan
terus sampai akhir baris.

KHUSUS SUMBER


.MENGABAIKAN Abaikan kesalahan apa pun dari perintah yang terkait dengan target ini, persis seperti jika
semuanya didahului oleh tanda hubung ('-').

.MEMBUAT Jalankan perintah yang terkait dengan target ini bahkan jika -n or -t Pilihan
ditentukan. Biasanya digunakan untuk menandai rekursif membuat'S.

.TIDAK Biasanya membuat memilih target pertama yang ditemuinya sebagai target default
dibangun jika tidak ada target yang ditentukan. Sumber ini mencegah target ini menjadi
terpilih.

.OPSIONAL Jika target ditandai dengan atribut ini dan membuat tidak tahu bagaimana caranya
buat itu, itu akan mengabaikan fakta ini dan menganggap file tersebut tidak diperlukan atau sudah
ada

.BERHARGA Ketika membuat terganggu, ia menghapus target yang dibuat sebagian. sumber ini
mencegah target dihapus.

.DIAM Jangan menggemakan perintah apa pun yang terkait dengan target ini, persis seolah-olah itu
semua didahului oleh tanda at ('@').

.MENGGUNAKAN Ubah target menjadi membuatversi makro. Ketika target digunakan sebagai
sumber untuk target lain, target lain memperoleh perintah, sumber, dan
atribut (kecuali untuk .MENGGUNAKAN) dari sumbernya. Jika target sudah memiliki perintah,
itu .MENGGUNAKAN perintah target ditambahkan ke mereka.

.TUNGGU Jika spesial .TUNGGU sumber muncul di garis ketergantungan, sumber yang mendahului
itu dibuat sebelum sumber yang menggantikannya di baris. Loop tidak menjadi
terdeteksi dan target yang membentuk loop akan diabaikan secara diam-diam.

KHUSUS SASARAN


Target khusus tidak boleh disertakan dengan target lain, yaitu harus menjadi satu-satunya target
ditentukan.

.MULAI Setiap baris perintah yang dilampirkan ke target ini dieksekusi sebelum yang lainnya
dilakukan.

.BAWAAN Ini semacam .MENGGUNAKAN aturan untuk target apa pun (yang digunakan hanya sebagai sumber) yang
membuat tidak dapat menemukan cara lain untuk membuat. Hanya skrip shell yang digunakan.
The .IMPSRC variabel target yang mewarisi .BAWAAN's perintah diatur ke
nama target sendiri.

.AKHIR Setiap baris perintah yang dilampirkan ke target ini dieksekusi setelah yang lainnya
dilakukan.

.MENGABAIKAN Tandai setiap sumber dengan .MENGABAIKAN atribut. Jika tidak ada sumber
ditentukan, ini setara dengan menentukan -i .

.TERMASUK Daftar sufiks yang menunjukkan file yang dapat disertakan dalam file sumber.
Sufiksnya pasti sudah dideklarasikan dengan .SUFIKS; akhiran apa saja jadi
dideklarasikan akan memiliki direktori di jalur pencariannya (lihat .JALUR) ditempatkan di
.TERMASUK variabel khusus, masing-masing didahului oleh a -I bendera.

.MENGGANGGU If membuat terganggu, perintah untuk target ini akan dieksekusi.

.LIBS Ini berlaku untuk perpustakaan apa? .TERMASUK tidak untuk menyertakan file, kecuali bahwa
bendera yang digunakan adalah -L.

.UTAMA Jika tidak ada target yang ditentukan kapan membuat dipanggil, target ini akan dibangun. Ini
selalu diatur, baik secara eksplisit, atau implisit ketika membuat memilih default
target, untuk memberi pengguna cara untuk merujuk ke target default pada perintah
line.

.MAKEFILEDEPS
Aktifkan fungsionalitas "Membuat Ulang Makefile", seperti yang dijelaskan di MENGINGAT
MAKEFILE bagian di bawah ini.

.BUAT BENDERA Target ini menyediakan cara untuk menentukan bendera untuk membuat ketika makefile digunakan.
Bendera-bendera itu seolah-olah diketik di cangkang, meskipun -f pilihan tidak akan memiliki
memengaruhi. Bendera (kecuali untuk -f) dan penetapan variabel yang ditentukan sebagai sumber
untuk target ini juga ditambahkan ke .BUAT BENDERA variabel internal. Tolong
perhatikan perbedaan antara target ini dan .BUAT BENDERA variabel internal:
menentukan opsi atau penetapan variabel sebagai sumber untuk target ini akan
mempengaruhi kedua makefile saat ini dan semua proses yang membuat mengeksekusi.

.FLAG Sama seperti di atas, untuk kompatibilitas ke belakang.

.TIDAK PARALEL
Nonaktifkan mode paralel.

.TIDAK_PARALLEL
Sama seperti di atas, untuk kompatibilitas dengan yang lain membuat varian.

.MEMESAN Target yang disebutkan dibuat secara berurutan.

.JALUR Sumber adalah direktori yang akan dicari untuk file yang tidak ditemukan di
direktori saat ini. Jika tidak ada sumber yang ditentukan, apa pun yang ditentukan sebelumnya
direktori dihapus. Jika memungkinkan, gunakan .JALUR lebih disukai daripada penggunaan
itu VPATH variabel.

.JALURakhiran
Sumbernya adalah direktori yang harus dicari untuk file sufiks bukan
ditemukan di direktori saat ini. NS membuat utilitas pertama mencari sufiks
jalur pencarian, sebelum kembali ke jalur default jika file tidak ditemukan
di sana. Formulir ini diperlukan untuk .LIBS dan .TERMASUK untuk bekerja.

.PALSU Terapkan .PALSU atribut ke sumber tertentu. Target dengan ini
atribut selalu dianggap ketinggalan zaman.

.POSIX Menyesuaikan membuat's agar sesuai dengan spesifikasi POSIX yang berlaku. (Perhatikan ini
menonaktifkan fitur "Membuat Ulang Makefile".)

.BERHARGA Terapkan .BERHARGA atribut ke sumber tertentu. Jika tidak ada sumber
ditentukan, .BERHARGA atribut diterapkan ke setiap target dalam file.

.KERANG Pilih cangkang lain. Sumber target ini memiliki format kunci=nilai.
The kunci adalah salah satu dari:

path Tentukan jalur ke shell baru.

nama Tentukan nama shell baru. Ini mungkin salah satu dari
tiga cangkang bawaan (lihat di bawah) atau nama lain apa pun.

tenang Tentukan perintah shell untuk mematikan gema.

gema Tentukan perintah shell untuk mengaktifkan gema.

menyaring Biasanya shell mencetak perintah echo off sebelum mematikan echoing.
Ini adalah string yang tepat yang akan dicetak oleh shell dan adalah
digunakan untuk memfilter output shell untuk menghapus perintah echo off.

gemaBendera Opsi shell yang menyala bergema.

bendera kesalahan Opsi shell untuk mengaktifkan pemeriksaan kesalahan. Jika pemeriksaan kesalahan aktif,
shell harus keluar jika perintah mengembalikan status bukan nol.

hasErrCtl Benar jika shell memiliki kontrol kesalahan.

memeriksa If hasErrCtl benar maka ini adalah perintah shell untuk mengubah kesalahan
memeriksa. Jika hasErrCtl salah maka ini adalah templat perintah
untuk menggemakan perintah yang pemeriksaan kesalahannya dinonaktifkan. templatenya
harus berisi '%s'.

mengabaikan If hasErrCtl benar, ini adalah perintah shell untuk mengubah kesalahan
memeriksa. Jika hasErrCtl salah, ini adalah templat perintah untuk
menjalankan perintah sehingga kesalahan diabaikan. Template harus
mengandung '%s'.

meta Ini adalah string karakter meta dari shell.

bawaan Ini adalah string yang memisahkan semua perintah bawaan shell
oleh kosong. NS meta dan bawaan string digunakan dalam mode kompatibilitas.
Ketika baris perintah tidak berisi karakter meta atau tidak dimulai dengan
shell builtin, dijalankan secara langsung tanpa menggunakan shell.
Ketika salah satu dari string ini (atau keduanya) kosong, semua perintah adalah
dieksekusi melalui shell.

tidak disetelv Jika benar, hapus variabel lingkungan ENV sebelum menjalankan apa pun
memerintah. Ini berguna untuk Korn-shell (ksh).

Nilai yang berupa string harus diapit oleh tanda kutip ganda. Nilai Boolean adalah
ditentukan sebagai 'T' atau 'Y' (dalam kedua kasus) berarti benar. Nilai lain diambil
berarti palsu.

Ada beberapa kegunaan dari .KERANG target:

· Memilih salah satu shell bawaan. Ini dilakukan dengan hanya menentukan
nama cangkang dengan nama kata kunci. Dimungkinkan juga untuk memodifikasi
parameter shell bawaan dengan hanya menentukan kata kunci lain (kecuali
untuk path).

· Menggunakan executable lain untuk salah satu shell bawaan. Ini dilakukan oleh
menentukan jalur ke executable dengan path kata kunci. Jika yang terakhir
komponennya sama dengan nama shell bawaan, tidak perlu nama
ditentukan; jika berbeda, nama harus diberikan:

.SHELL: path="/usr/local/bin/sh"

memilih shell bawaan "sh" tetapi akan menjalankannya dari /usr/local/bin/sh.
Seperti pada kasus sebelumnya, dimungkinkan untuk mengubah parameter dari
shell bawaan dengan hanya menentukannya.

· Menggunakan shell yang sama sekali berbeda. Ini dilakukan dengan menentukan semua kata kunci.

Shell bawaan adalah "sh", "csh" dan "ksh". Karena FreeBSD tidak memiliki ksh in
/tempat sampah, tidak bijaksana untuk menentukan nama="ksh" tanpa juga menentukan jalur.

.DIAM Terapkan .DIAM atribut ke sumber tertentu. Jika tidak ada sumber
ditentukan, .DIAM atribut diterapkan ke setiap perintah dalam file.

.SUFIKS Setiap sumber menentukan akhiran untuk membuat. Jika tidak ada sumber yang ditentukan, apapun
sufiks yang ditentukan sebelumnya dihapus.

.MEMPERINGATKAN Setiap sumber menetapkan tanda peringatan seperti yang dijelaskan sebelumnya untuk -x Command
pilihan garis. Bendera peringatan yang ditentukan pada baris perintah lebih diutamakan
flag yang ditentukan dalam makefile. Juga, bendera peringatan baris perintah didorong ke
sub-membuat melalui variabel lingkungan MAKEFLAGS sehingga bendera peringatan
ditentukan pada baris perintah akan mempengaruhi semua sub-merek. Beberapa bendera bisa
ditentukan pada satu .MEMPERINGATKAN target dengan memisahkan mereka dengan kosong.

MENGINGAT MAKEFILE


Jika target khusus .MAKEFILEDEPS ada di Makefile, membuat memungkinkan "Membuat Ulang"
Fitur Makefile”. Setelah membaca Makefile dan semua file yang disertakan menggunakan
.termasuk or .termasuk arahan (sumber Makefiles) membuat menganggap setiap sumber Makefile sebagai
target dan mencoba membangunnya kembali. Aturan eksplisit dan implisit diperiksa dan semua sumber
Makefiles diperbarui jika perlu. Jika salah satu Makefiles sumber dibuat ulang, membuat
restart dari keadaan bersih.

Untuk mencegah infinite loop, target Makefile sumber berikut diabaikan:

· :: target yang tidak memiliki prasyarat

· ! target

· target yang memiliki .PALSU or .EXEC atribut

· target tanpa prasyarat dan tanpa perintah

Saat membuat ulang opsi Makefile sumber -t (sentuh sasaran), -q (mode kueri), dan -n (tidak ada eksekutif)
tidak berlaku, kecuali sumber Makefile ditentukan secara eksplisit sebagai target dalam membuat
garis komando.

Selain itu, makefile sistem dan .bergantung tidak dianggap sebagai Makefile yang dapat
dibangun kembali.

LINGKUNGAN


The membuat utilitas menggunakan variabel lingkungan berikut, jika ada: MACHINE, MAKE,
MAKEFLAGS, MAKEOBJDIR, MAKEOBJDIRPREFIX, dan MAKESYSPATH.

Gunakan fmake online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad




×
iklan
❤️Berbelanja, pesan, atau beli di sini — tanpa biaya, membantu menjaga layanan tetap gratis.