Yaratish - Linux Buyruq - Unix Buyruq

make - GNU dasturlar guruhlarini saqlab qolish uchun yordam beradi

Sinopsis

[ -f makefile ] [option] ... maqsad qilib oling ...

Ogohlantirish

Ushbu sahifa GNU makolasining hujjatidan olingan . Bu faqat vaqti-vaqti bilan yangilanadi, chunki GNU loyihasi nroff foydalanmaydi. To'liq, dolzarb hujjatlar uchun make.texinfo Texinfo manbasi faylidan yaratilgan make.info fayliga murojaat qiling .

Ta'rif

Foydali dasturning maqsadi - katta dasturning qaysi qismlarini qayta-qayta takrorlash kerakligini aniqlash va ularni qayta kompilyatsiya qilish uchun buyruqlar berishdir. Qo'llanma Richard Stallman va Roland MakGrath tomonidan yozilgan "GNU" dasturining ta'rifini tasvirlaydi. Bizning misollarimiz C dasturlarini eng ko'p ko'rilganlaridan dalolat beradi, biroq siz kompilyatorni qobiq buyrug'i bilan ishlashi mumkin bo'lgan dasturlash tilidan foydalanishingiz mumkin. Aslida, dasturlarni cheklash emas. Siz boshqalardan boshqasiga o'zgartirilganda, ayrim fayllarni boshqalardan avtomatik ravishda yangilash kerak bo'lgan vazifani tasvirlash uchun foydalanishingiz mumkin.

Ishlashni tayyorlashga tayyorlash uchun sizning dasturingizdagi fayllar o'rtasidagi munosabatlarni tasvirlaydigan makefile deb nomlangan faylni va har bir faylni yangilash buyrug'ini bildiradi. Bir dasturda odatda bajariladigan fayl ob'ekt fayllaridan yangilanadi, bu esa o'z navbatida manba fayllarini kompilyatsiya qilish orqali amalga oshiriladi.

Kerakli makefile mavjud bo'lganda, har bir manba faylini o'zgartirsangiz, bu oddiy qobiq buyrug'i:

qilish

barcha zaruriy qayta ishlashlarni amalga oshirish uchun kifoya qiladi. Makedoniya dasturi makefile ma'lumotlar bazasidan va fayllarning oxirgi tahrirlash vaqtlaridan qaysi fayllarni yangilash kerakligini hal qilish uchun foydalanadi. Ushbu fayllarning har biri uchun ma'lumotlar bazasida saqlangan buyruqlar chiqaradi.

Makefile bir yoki bir nechta maqsad nomini yangilash uchun buyruqlarni bajaradi, bu erda ism odatda dastur hisoblanadi. Agar hech qanday imkoniyat bo'lmasa, GNUmakefile makefiles , makefile va Makefile- ni shu tartibda qidirib toping .

Odatda makefile yoki makefile yoki Makefile deb nomlashingiz kerak . (Biz Makefile-ni tavsiya qilamiz, chunki u katalog katalogining boshlanishiga yaqin, aniqrog'i README kabi boshqa muhim fayllar yonida paydo bo'ladi.) GNUmakefile nomini tekshirish ko'p makefile uchun tavsiya etilmaydi. Agar GNU-ga xos makefile bo'lsa, bu nomni ishlatishingiz kerak va boshqa nusxalar tomonidan tushunilmaydi. Agar makefile '-' bo'lsa, standart kirish o'qiladi.

maqsadga so'nggi o'zgartirishlar kiritilganligi sababli o'zgartirishlar kiritilgan talab qilinadigan fayllarga bog'liq bo'lsa yoki maqsad mavjud bo'lmasa, yangilanishlarni maqsad qilib qo'ying.

OPTIONS

-b

-m

Ushbu tanlovlar boshqa maket versiyalari bilan muvofiqligi uchun e'tibordan chetda.

-C dir

Makefile'larni o'qimasdan yoki boshqa hech narsa qilmasdan oldin katalogni o'zgartiring. Agar bir nechta V variantlari ko'rsatilgan bo'lsa, ularning har biri oldingi versiyaga nisbatan sharhlanadi: -C / -C va boshqalar -C / etc ga teng. Bu, odatda, makrning yineluvchi chaqiruvlari bilan ishlatiladi.

-d

Normal ishlashga qo'shimcha ravishda disk raskadrovka ma'lumotlarini chop etish. Xatolarni tuzatish haqida ma'lumot qaysi fayllarni qayta ishlash uchun ko'rib chiqilayotganligi, qaysi fayllar bilan taqqoslanayotganligi va qaysi natijalar bilan qanday fayllar aslida qayta tiklanishi kerakligi, qanday qilib aniq qoidalar ko'rib chiqilganligi va qanday qo'llanilganligi haqida ma'lumot beradi - qanday qaror qabul qilish haqida qiziqarli ma'lumotlar nima qilish kerak.

-e

Makefile'lardan o'zgaruvchilardan atrof-muhitning ustunligini olgan o'zgaruvchilardan foydalaning.

-f fayl

Faylni makefile sifatida foydalaning.

-i

Fayllarni qayta tuzish uchun bajarilgan buyruqlardagi barcha xatolar e'tiborga olinmaydi.

-I dir

Kiritilgan makefileslarni qidirish uchun katalog dirini bildiradi. Agar bir nechta variantlar bir nechta katalogni ko'rsatish uchun ishlatilsa, katalog belgilangan tartibda tekshiriladi. Boshqa bayroqlar uchun argumentlardan farqli o'laroq, -I bayroqlar bilan bayroqlar to'g'ridan-to'g'ri bayroqdan so'ng kelishi mumkin: -I dir , shuningdek -I dir. Ushbu sintaksisi C preprocessor ning -I belgisi bilan muvofiqligi uchun ruxsat beriladi.

-j ish

Bir vaqtning o'zida ishlaydigan ishlarning (buyruqlar) sonini bildiradi. Agar bir nechta variantni tanlash mumkin bo'lsa, unda oxirgi variant samarali bo'ladi. Agar -j parametrlari argumentsiz berilgan bo'lsa, bir vaqtning o'zida ishlaydigan ishlarning sonini cheklamang.

-k

Xatodan keyin iloji boricha davom eting. Muvaffaqiyatsiz amalga oshirilgan maqsad va unga bog'liq bo'lganlarni qayta tiklash mumkin bo'lmasa-da, bu maqsadlarning boshqa bog'liqliklari bir xil tarzda qayta ishlanishi mumkin.

-l

-l yuk

Boshqa ishlarning bajarilishi va yuk o'rtacha kamida yuk (qaymoqli nuqta raqami) bo'lsa, yangi ish (buyruqlar) boshlanmasligini bildiradi. Hech qanday dalil bo'lmasa, avvalgi yuk limitini olib tashlaydi.

-n

Amalga oshiriladigan buyruqlarni chop eting, lekin ularni bajarmang.

-o fayl

Faylning faylini uning bog'liqligiga qaraganda eski holatda saqlamang va fayldagi o'zgarishlarni hisobga olmasdan hech narsa tuzatmang. Aslida, fayl juda qadimgi va uning qoidalari e'tiborga olinmaydi.

-p

Makefillarni o'qish natijasida kelib chiqqan ma'lumotlar bazasini (qoidalar va o'zgarmaydigan qiymatlarni) chop eting; keyin odatdagidek yoki boshqacha ko'rsatilganda bajaring. Bu, shuningdek, -v- switch-ning (pastga qarang) berilgan versiyasi ma'lumotlarini yozishga imkon beradi . Ma'lumotlar bazasini biron-bir faylni qayta tuzatishga urinmasdan chop etish uchun make -p -f / dev / null-dan foydalaning.

-q

`` Savol rejimi ''. Hech qaysi buyruqni ishga solmang, yoki biror narsani chop etmaslik kerak; faqat ko'rsatilgan maqsadlar allaqachon dolzarb bo'lsa, nol bo'lmagan holda chiqish holati holatini qaytaradi.

-r

Ichki yopiq qoidalarni qo'llashni bartaraf qiling. Shuningdek, qo'shimcha qoidalar uchun sukutlar ro'yxatini o'chiring.

-s

Silent operatsiya; buyruqlar ijro etilgandagina chop etilmasin.

-S

-k variantining ta'sirini bekor qilish. MAKEFLAGS orqali oliy darajadagi maqoladan meros bo'lishi mumkin bo'lgan yoki o'zingizning muhitingizda MAKEFLAGS-ga kirdiksangiz, bu hech qachon kerak emas.

-t

Buyruqlarni ishga tushirish o'rniga fayllarga (ularni albatta o'zgartirmasdan belgilang). Bu buyruqlar kelgusi chaqiruvlarni aldash uchun amalga oshirildi.

-v

Qilish dasturining versiyasini va mualliflik huquqini, mualliflar ro'yxatini va hech qanday kafolat yo'qligi haqida xabarni chop eting.

-w

Boshqa ishlashdan oldin va keyin ish katalogini o'z ichiga olgan xabarni chop eting. Bu o'z-o'zidan ravshanki buyruqlarni murakkab uyalaridagi xatoliklarni kuzatish uchun foydali bo'lishi mumkin.

-W fayl

Maqsad faylining yangi tahrirlanganligini ko'rsat. -n bayrog'i bilan ishlatilganda, bu siz faylni o'zgartirsangiz nima bo'lishi mumkinligini ko'rsatadi. No-n bo'lmasa, bu ishni bajarishdan oldin berilgan faylda sensorli buyruqni bajarish bilan deyarli bir xil bo'ladi, faqat modifikatsiya qilish vaqti faqat maket tasavvurida o'zgaradi.