GNU Make Book - Demystifying Linux Build Automation

Poleg pisanja o Linuxu in pisanja pregledov in vadnic o distribucijah in orodjih sem tudi močno vključen v razvoj programske opreme. Na žalost, 99,9% tega razvoja programske opreme poteka na platformi Windows.

Imam več kot 20 let izkušenj kot C + +, Visual Basic, VB.NET in C # razvijalec in sem tudi dab roko s SQL Server tako kot DBA in razvijalec.

Kaj nisem tako dober je razvoj programske opreme za Linux. To je samo nekaj, kar se mi nikoli ni motilo. Glavni razlog je, da po razvijanju programske opreme čez dan zadnja stvar, ki jo želim storiti, je sedeti okoli večera, ki bi pisal več programske opreme.

Očitno mi je všeč taring pri skriptiranju in pisanju čudnega majhnega programa. To so ponavadi za projekte, ki temeljijo na elektroniki, na PCB Raspberry .

Ena stvar, ki jo bodo mnogi razvijalci na platformi operacijskega sistema Windows imeli težave, ko se bodo prvič premaknili na Linux, se učijo o orodjih, potrebnih za izdelavo in pakiranje aplikacij.

Daleč najlažji način razvijanja aplikacij so spletne aplikacije, saj na splošno ne potrebujejo prevedene kode (PHP, Perl, Python) in datoteke so nameščene na določenem mestu na spletnem strežniku.

Veliko število aplikacij, zgrajenih za Linux, so razvite z uporabo C, C ++ ali Python. Sestavljanje enega samega programa C je razmeroma enostavno, vendar ko morate sestaviti več programov C z več odvisnostmi, postanejo stvari bolj zapletene.

GNU Make je skriptno orodje za avtomatizacijo gradnje, ki vam pomaga, da svoje aplikacije vedno znova in znova in na različne načine. Na primer, lahko dobite parameter, ki bo glede na vrednost združeval aplikacijo z uporabo 64-bitnega ali 32-bitnega.

Knjigo GNU Make je napisal John Graham-Cumming, da bi uporabnikom GNU Make pomagal, da bi dobili čim večji občutek zapletenosti, povezanih z izdelkom GNU.

Knjiga je razdeljena na šest poglavij:

  1. Osnove ponovno
  2. Makefile Debugging
  3. Gradnja in obnova
  4. Pasti in težave
  5. Potiskanje kuverte
  6. GNU Standardna knjižnica

Ne verjamem, da je knjiga resnično namenjena začetnikom, ker nima določenih pojasnil, ki bi jih pričakovali pri učenju novega predmeta, kot je "Kaj je izdelava GNU-ja?", "Kako ustvarim datoteko Make?", "Zakaj uporablja boljše kot sestavljanje vsakega programa enega po enega? " in "Kako sestavim programe z uporabo GNU Make?". Vsa ta področja so zajeta v priročniku GNU Make .

Dejstvo, da se prvo poglavje imenuje "Osvobojena osnova" v nasprotju z "Osnove", jasno kaže, da se pričakujete, da boste pred tem začeli utemeljiti zadevo.

Prvo poglavje zajema vse osnove, kot so uporaba spremenljivk, okolij, ki jih uporabljajo ukazi, in okolje okolja ((Shell)). Ko se poglavje premika, pridete v predmet primerjave, seznamov in uporabniško določenih funkcij.

Če uporabljate GNU Make za nekaj časa, vendar še ne menite, da je strokovnjak, obstaja nekaj prijetnih namigov in nasvetov, ki vam bodo pomagali razumeti nekatere intricacies, ki morda niso takoj očitne.

Drugo poglavje bo bogoslužje za tiste, ki ste poskušali zamenjati napake pri gradnji skriptov. Oddelek »Makefile Debugging« je poln odličnih namigov in nasvetov za odpravljanje napak Makefiles in vključuje poglavja o tiskanju spremenljivih vrednosti in celo odlaganje vrednosti vsake spremenljivke. Nadalje v poglavju je vodič za GNU Debugger, ki ga lahko uporabite za korake s skripti.

Tretje poglavje vsebuje makefile primerov, vendar vam več kot to prikazuje, kako ustvariti Makefiles, ki jih lahko znova in znova zaženete.

"Pasti in težave" obravnavajo razlike med določenimi izrazi, kot so = in: =, in ifndef in? =.

Našel sem, ko sem nadaljeval skozi knjigo, ker ker nisem aktivno poskušal uporabljati GNU Make in ker je moje znanje na zelo osnovni ravni, je nekaj vsebine prešlo precej nad glavo.

Do trenutka, ko sem prišel do poglavja "Pushing The Envelope", so se moje oči nekoliko bolj glazovale.

Moj glavni povzetek, če bi moral povzeti to knjigo, je, da avtor jasno pozna svoje stvari in poskuša posredovati čim več informacij.

Problem je v tem, da včasih, ko strokovnjak na temo poskuša nekaj napisati, imajo to "oh, enostavno, vse kar moraš storiti je ...." aura o njih.

Gumijasti pečat na zadnjih vratih se je končal prejšnji teden, saj sem bil le nekaj let starega poklicala podjetje, ki ga je opremilo, saj je še vedno v garanciji.

Gospa na telefonu je rekla: "Oh, to je v redu, ti bom poslal nov pečat".

Rekel sem: "Oh, ali moram to sam prilegati? Je to nekaj, kar lahko storim".

Odgovor je bil: "Seveda lahko, vse kar morate storiti je, da odklopite vrata, namestite pečat in vrnite vrata nazaj."

Zdaj je bila moja trenutna misel "woah, premakni malo tam. Vzemite vrata?!?". Nisem upravičen, da odstranim vrata, namestim pečat in popravim vrata. To prepuščam strokovnjakom.

S to knjigo menim, da potrebujete drugo knjigo in določeno količino izkušenj, ki bi pisali Makefiles, preden bi vam bilo koristno.

Mislim, da namigi, nasveti in znanje pomagajo nekaterim ljudem reči: "Oh, zato to počne" ali "Nisem se zavedal, da bi to lahko storil tako."

Moja ocena je zato, da bi morali kupiti to knjigo, če iščete razjasnitev ali več vmesnih podatkov do naprednega znanja o izdelku GNU, vendar to ni knjiga za začetnike.