GNU Make grāmatu - Demystifying Linux Build automatizācija

Kā arī rakstot par Linux un rakstot pārskatus un konsultācijas par izplatīšanu un rīkiem, esmu arī ļoti iesaistīts programmatūras izstrādē. Diemžēl 99,9% no šī programmatūras izstrādes notiek Windows platformā.

Man ir vairāk nekā 20 gadu pieredze kā C + +, Visual Basic, VB.NET un C # izstrādātājs, un es esmu arī kopīgs ar SQL Server gan DBA, gan izstrādātāju starpā.

Kas man nav tik labi, ir programmatūras izstrāde Linux. Tas ir tikai tas, par ko es nekad neesmu uztraukusies. Galvenais iemesls ir tas, ka, izstrādājot programmatūru dienas laikā, pēdējā lieta, ko es gribu darīt, ir sēdēt vakarā, rakstot vairāk programmatūras.

Man acīmredzami patīk veidot skriptu un rakstīt nepāra nelielu programmu. Tie parasti attiecas uz elektroniskiem projektiem, uz kuriem attiecas Raspberry PI .

Viena lieta, ka daudziem Windows platformas izstrādātājiem būs problēmas ar to, ka tie pirmo reizi pāriet uz Linux, uzzina par rīkiem, kas vajadzīgi, lai izveidotu un ieslēgtu lietojumprogrammas.

Līdz šim visvienkāršākais lietojumprogrammas veids, lai izstrādātu, ir tīmekļa lietojumprogrammas, jo parasti tām nav nepieciešams apkopots kods (PHP, Perl, Python), un faili tiek izvietoti noteiktā vietā tīmekļa serverī.

Liels Linux lietojumprogrammu skaits tiek izstrādāts, izmantojot C, C ++ vai Python. Viena C programmas sastādīšana ir samērā vienkārša, taču, ja jums ir jāapkopo vairākas C programmas ar vairākām atkarībām, lietas kļūst nedaudz grūtākas.

GNU Make ir veidošanas automatizācijas skriptu rīks, kas palīdz apkopot jūsu lietojumprogrammas atkal un atkal un dažādos veidos. Piemēram, varat piegādāt parametru, kas, atkarībā no vērtības, apkopo lietojumprogrammu, izmantojot 64 bitu vai 32 bitu versiju.

GNU Make grāmatu ir uzrakstījis John Graham-Cumming, lai palīdzētu lietotājiem GNU Make iegūt stingrāku saķeri ar sarežģījumiem, kas saistīti ar GNU Make.

Grāmata ir sadalīta sešās nodaļās:

  1. Pamati atkārtotas
  2. Makefile atkļūdošana
  3. Celtniecība un atjaunošana
  4. Nepilnības un problēmas
  5. Spiežot aploksni
  6. GNU Make standarta bibliotēka

Es nedomāju, ka šī grāmata patiešām ir paredzēta iesācējiem, jo ​​tai trūkst noteiktu precizējumu, ko varētu sagaidīt, apgūstot jaunu priekšmetu, piemēram, "Kas ir GNU Make?", "Kā es varu izveidot failu Make?", "Kāpēc Vai lietojat "Labi labāk" nekā apkopojot katru programmu pa vienam? " un "Kā es varu apkopot programmas, izmantojot GNU Make?". Visas šīs tēmas ir iekļautas GNU Make rokasgrāmatā .

Fakts, ka pirmā nodaļa tiek saukta par "Pamati pārskatīti", nevis "Pamati", skaidri parāda, ka jums, pirms sākat, ir priekšmets.

Pirmajā nodaļā aprakstīti visi pamati, piemēram, mainīgo izmantošana, komandu izmantota vide un $ (Shell) vide. Kā nodaļa pāriet uz jums nonākt salīdzināšanas tēmu, sarakstus un lietotāja definētas funkcijas.

Ja jūs kādu laiku izmantojat GNU Make, bet vēl neuzskata sevi par ekspertu, ir daži jauki padomi, kas palīdzēs jums saprast dažas sarežģījumus, kas var nebūt uzreiz pamanāmi.

Otrā nodaļa būs dievbijīgs tiem, kuri mēģināja slazdošanas kļūdas veidot skriptus. Sadaļā "Makefile atkļūdošana" ir pilns ar lieliskiem padomiem un padomiem Makefile atkļūdošanai, kā arī sadaļas par mainīgo vērtību drukāšanu un pat katra mainīgā vērtības dempingu. Tālāk nodaļā ir norāde par GNU atkļūdotāju, kuru jūs varat izmantot, lai soli pa skriptiem.

Trešajā nodaļā ir piemērs makefile, bet vairāk nekā tas parāda, kā izveidot Makefiles, ko var palaist atkal un atkal.

"Kļūdas un problēmas" aplūko atšķirības starp dažiem tādiem jēdzieniem kā = and: =, ifndef un? =.

Es atklāju, ka turpināju grāmatu, jo es neesmu aktīvi mēģinājis izmantot GNU Make un tāpēc, ka manas zināšanas ir ļoti pamatā, daži no šī temata devās ļoti daudz par manu galvu.

Līdz tam laikam, kad es nokļuvu nodaļā "Stumšanas aploksne", manas acis glazēti pārāk nedaudz.

Mans galvenais kopsavilkums, ja man būtu jāsagatavo šī grāmata, ir tāds, ka autors skaidri apzinās viņa lietām un ir mēģinājis nodot pēc iespējas vairāk informācijas.

Problēma ir tāda, ka dažreiz, kad kāds jautājums eksperts mēģina uzrakstīt kaut ko uz leju, viņam tas ir "tas vienkārši, viss, kas jums jādara, ir ..." par tiem auru.

Pagājušajā nedēļā pie manas aizmugurējās durvis tika izvadīts gumijas blīvslēgs, un tā kā tikai pāris gadus es saucu kompāniju, kas to uzstādīja, jo tā joprojām ir garantijā.

Dāma pa telefonu teica: "Ak, tas ir labi, es jums nosūtīšu jaunu zīmogu".

Es teicu: "Ak, vai man tas pats jāuzstāda? Vai tas ir kaut kas, ko es varu darīt".

Atbilde bija "Protams, jūs varat, viss, kas jums jādara, ir pacelties no durvīm, ievietot zīmogu un aizvērt durvis".

Tagad mana tūlītēja domāšana bija "woah, nedaudz atlaidiet to uz priekšu un paceliet durvis?!?". Es neesmu kvalificēts, lai noņemtu durvis, ievietotu ruļļu un atjaunotu durvis. Es to atstāju ekspertiem.

Ar šo grāmatu es uzskatu, ka jums ir nepieciešama cita grāmata un zināma pieredze rakstot Makefiles, pirms atrodat to noderīgu.

Es domāju, ka norādes, padomi un sniegtās zināšanas palīdzētu dažiem cilvēkiem teikt: "Ak, tāpēc tas tā dara" vai "Es nesapratu, ka jūs to varētu darīt šādā veidā".

Tāpēc es novērtēju, ka jums vajadzētu iegādāties šo grāmatu, ja jūs meklējat precizējumu vai vairāk starpprofilu, lai uzlabotu zināšanas par GNU Make, bet tā nav iesācējiem paredzēta grāmata.