GNU Make Book - Linuxni tuzishni avtomatizatsiyalashni talab qiladi

Linux haqida yozish va tarqatish va vositalar haqida sharhlar va o'quv materiallarini yozish bilan bir qatorda men dasturiy ta'minotni ishlab chiqish bilan shug'ullanaman. Afsuski, ushbu dasturiy ta'minotning 99,9% i Windows platformasida amalga oshiriladi.

Men C ++, Visual Basic, VB.NET va C # ishlab chiquvchisi sifatida 20 yildan ziyod tajribam bor va men DBA va ishlab chiquvchi sifatida SQL Server bilan dab qo'llayman.

Men juda yaxshi emasman, Linux uchun dasturiy ta'minot ishlab chiqyapman. Bu men bilan hech qachon bezovtalanmagan narsa. Buning asosiy sababi, kun davomida dasturiy ta'minot ishlab chiqilgandan so'ng, men istagan oxirgi narsa - ko'proq dasturiy ta'minotni yozishni kechqurun atrofida o'tirish.

Shubhasiz, skriptlarni yozish bilan shug'ullanish va ajoyib kichik dasturni yozish kabi. Ular Odatda Raspberry PI bo'yicha elektronika asosida loyihalar uchun.

Windows platformasida ko'plab ishlab chiquvchilar dastlab Linuxga ko'chirilganda muammolarga duch kelishlari, dasturlarni yaratish va ularni to'plash uchun kerakli vositalarni o'rganishdir.

Rivojlanadigan dasturning eng oddiy turi veb-ilovalardir, chunki odatda ular olingan kodni talab qilmaydi (PHP, Perl, Python) va fayllar veb-serverda o'rnatilgan joyga o'rnatiladi.

C, C ++ yoki Python yordamida Linux uchun yaratilgan ko'plab ilovalar ishlab chiqilgan. Bitta S dasturini kompilyatsiya qilish juda oson, biroq bir nechta bog'liqliklarga ega bo'lgan C dasturlarini bir nechta kompilyatsiya qilish kerak bo'lsa, bu narsa biroz murakkablashadi.

GNU Make - ilovalarni qayta-qayta va turli yo'llar bilan kompilyatsiya qilishga yordam beradigan qurish otomasyon ssenariysi vositasi. Masalan, qiymatga qarab, 64-bit yoki 32-bitli dasturni tuzadigan parametrni yetkazib berishingiz mumkin.

GNU Make kitobini GNU Make foydalanuvchilariga yordam berish uchun John Graham-Cumming tomonidan yozilgan. GNU Make bilan bog'liq murakkabliklarni yanada mustahkamlash.

Kitob oltita bobga bo'linadi:

  1. Asosiy qoidalar qayta ko'rib chiqildi
  2. Makefile disk raskadrovka
  3. Qurilish va qayta qurish
  4. Tuzilish va muammolar
  5. Zarfni bosish
  6. GNU standart kutubxonasini yaratish

Bu kitob haqiqatan ham yangi boshlanuvchilarga qaratilganiga ishonmayman, chunki "GNU Make what?", "How to make a file?", "Why do I create a file?", "Why do I create a file?" Har bir dasturni birma-bir tuzishdan ko'ra yaxshiroq qiling. " va "GNU Make yordamida dasturlarni qanday tayyorlay olaman?". Ushbu mavzu ob'ektlarining barchasi GNU Make qo'llanmasida yoritilgan.

Birinchi qismning "Asosiy asoslar" deb nomlangani "Asoslar" dan farqli o'laroq, siz boshlamasdan oldin sizda mavzuga asos bo'lishi kerakligini aniq ko'rsatib turibdi.

Birinchi qismda o'zgaruvchilar, buyruqlar va $ (Shell) muhiti tomonidan ishlatiladigan muhitlar kabi barcha asoslarni qamrab oladi. Bo'lim sizning harakatlanishingiz bilan taqqoslash, ro'yxat va foydalanuvchi tomonidan belgilangan funktsiyalarga kirish.

Agar siz GNU Make'ni biroz vaqtdan beri ishlatgan bo'lsangiz-da, o'zingizni mutaxassis deb hisoblamasangiz, unda aniq ko'rinmasligi mumkin bo'lgan ba'zi murakkabliklarni tushunishga yordam beradigan ba'zi ajoyib maslahatlar va maslahatlar mavjud.

Ikkinchi qism, siz yaratgan skriptlarda xatolar tuzatishga urinayotganlaringiz uchun xudo bo'ladigan bo'ladi. "Makefile disk raskadrovka" bo'limi Makefilesni disk raskadrovka bo'yicha ajoyib maslahatlar va maslahatlar bilan to'la va o'zgarmaydigan qiymatlarni kiritish va hatto har bir o'zgaruvchining qiymatini kiritish bo'yicha bo'limlarni o'z ichiga oladi. Bo'limga qo'shimcha ravishda, GNU tuzatuvchisiga skript orqali qadam qo'yish uchun foydalanishingiz mumkin bo'lgan qo'llanma bor.

Uchinchi qismda makefile misollar keltirilgan, lekin yana bir necha marta Makefilesni qanday qilib qayta ishlashingiz mumkinligini sizga ko'rsatib beradi.

"Tuzoqlar va muammolar" = va: =, va ifndef va? = Kabi ayrim atamalar o'rtasidagi farqlarga qaraydi.

Men kitobni ko'proq o'rganganim sababli, men GNU Make-dan foydalanishga faol ravishda harakat qilmaganim uchun va mening ma'lumotim juda muhim darajada bo'lganligi sababli, ba'zi mavzular boshimdan juda ko'p ketgan.

"Zarfni chop etish" bo'limiga borganimda, ko'zlarim biroz chiriydi.

Mening asosiy xulosam, agar bu kitobni umumlashtirmoqchi bo'lsam, muallif o'z narsalarini aniq biladi va iloji boricha ko'proq ma'lumot olishga harakat qildi.

Muammo shundaki, ba'zida mavzu bo'yicha mutaxassis biror narsa yozishga harakat qilganda, bu "oh oson, faqat qilish kerak ..." ular haqida aura bor.

Orqa eshigimdagi kauchuk muhr o'tgan hafta tushdi va faqat bir necha yoshdagidek men hali ham kafolatli bo'lgani kabi unga moslashgan kompaniyani chaqirdim.

Telefonimdagi ayol: "Yaxshi, men seni yangi muhrni yuboraman", dedi.

Men "Buni o'zim qilishim kerakmi?" Deb so'radim.

Bunga javob: "Sen mumkin, hamma qilishing kerak, eshikni olib tashlash, muhrga moslash va eshikni qaytarib qo'yish".

Endi mening tezkor fikrim "woah, u erda biroz orqaga qayting, eshikni echib oling!". Men eshikni olib tashlash, muhrni yopish va eshikni qayta tiklash uchun malakali emasman. Men buni mutaxassislarga qoldiraman.

Ushbu kitob bilan men sizga foydali bo'lgan narsalarni yozishdan oldin, Makefilesni yozgan boshqa bir kitob va muayyan miqdordagi tajriba kerakligini his qilaman.

O'ylaymanki, maslahat, maslahatlar va bilimlar ba'zi kishilarga "Oh, shuning uchun bu shunday qiladi" yoki "Men buni siz shunday qilishingiz mumkinligini anglamadim" deb yordam beradi.

Men sizning baholashingiz shuning uchun siz GNU Make haqida batafsil tushuntirish yoki ilg'or ilm olish uchun izlayotgan bo'lsangiz bu kitobni sotib olishingiz kerak, lekin bu yangi boshlanuvchilar uchun kitob emas.