Die GNU Make Book - Demystifying Linux Build Automation

Sowel as skryf oor Linux en skryf resensies en tutoriale oor verspreidings en gereedskap, is ek ook baie betrokke by sagteware-ontwikkeling. Ongelukkig bestaan ​​99,9% van die sagteware-ontwikkeling op die Windows-platform.

Ek het meer as 20 jaar ervaring as 'n C ++, Visual Basic, VB.NET, en C # ontwikkelaar en ek is ook 'n dab hand met SQL Server, sowel as 'n DBA en 'n ontwikkelaar.

Wat ek nie so goed is nie, is die ontwikkeling van sagteware vir Linux. Dis net iets wat ek nooit regtig gepla het nie. Die hoofrede is dat na die ontwikkeling van sagteware gedurende die dag die laaste ding wat ek wil doen, 'n aand is om meer sagteware te skryf.

Ek hou vanselfsprekend aan om met skripsies te tik en die vreemde klein program te skryf. Dit is gewoonlik vir elektroniese gebaseerde projekte op die Framboos PI .

Een ding wat baie ontwikkelaars op die Windows-platform moeite sal hê met wanneer hulle eers na Linux beweeg, is om te leer oor die gereedskap wat nodig is om programme te bou en te pak.

Verreweg die maklikste tipe aansoek om te ontwikkel is webtoepassings omdat hulle gewoonlik nie saamgestelde kode (PHP, Perl, Python) benodig nie en die lêers op 'n vaste plek op die webbediener ontplooi word.

'N Groot aantal toepassings gebou vir Linux is ontwikkel met behulp van C, C + + of Python. Die opstel van 'n enkele C-program is relatief maklik, maar wanneer jy 'n aantal C-programme met veelvuldige afhanklikhede moet saamstel, word dinge 'n bietjie meer lastig.

GNU Make is 'n skripsie vir outomatiese skripsies wat jou help om jou programme weer en weer en op verskillende maniere saam te stel. Byvoorbeeld, jy kan 'n parameter verskaf wat, afhangend van die waarde, 'n program sal saamstel met 64-bis of 32-bis.

Die GNU Make-boek is deur John Graham-Cumming geskryf om gebruikers van GNU Make te help om die kompleksiteit van GNU Make te versterk.

Die boek is in ses hoofstukke verdeel:

  1. Die basiese beginsels hersien
  2. Makefile Debugging
  3. Gebou en Herbou
  4. Slaggate en probleme
  5. Druk die koevert
  6. Die GNU maak standaard biblioteek

Ek glo nie dat die boek regtig gemik is op beginners nie, want dit het sekere verduidelikings wat jy sou verwag wanneer jy 'n nuwe vak soos "Wat is GNU maak?", "Hoe maak ek 'n Maak lêer?", "Hoekom Gebruik maak Maak beter as om elke program een ​​vir een op te stel? " en "Hoe stel ek programme saam met GNU Make?". Al hierdie vakgebiede word in die GNU Make-handleiding behandel .

Die feit dat die eerste hoofstuk genoem word "The Basics Revisited" in teenstelling met "The Basics" toon duidelik dat daar van jou verwag word om 'n grondslag in die onderwerp te hê voordat jy begin.

Die eerste hoofstuk dek al die basiese beginsels soos die gebruik van veranderlikes, omgewings wat gebruik word deur opdragte en die $ (Shell) omgewing. Soos die hoofstuk beweeg, kom jy in die vak van vergelyking, lyste en gebruiker gedefinieerde funksies.

As jy GNU Make vir 'n rukkie gebruik het, maar nie jouself as 'n kenner beskou nie, is daar 'n paar goeie wenke en wenke wat jou sal help om sekere verwikkelinge te verstaan ​​wat dalk nie onmiddellik sigbaar is nie.

Die tweede hoofstuk sal 'n uitkoms wees vir diegene wat probeer het om foute in bouskrifte te betrap. Die "Makefile Debugging" -afdeling is vol uitstekende wenke en wenke vir die ontfouting van Makefiles en sluit afdelings oor die druk van veranderlike waardes en selfs die waarde van elke veranderlike dump. Verder in die hoofstuk is daar 'n gids vir die GNU Debugger wat u kan gebruik om skrifte deur te gaan.

Die derde hoofstuk bevat voorbeeld makefiles, maar meer as dit wys jou hoe om Makefiles te skep wat jy weer kan hardloop.

"Slaggate en probleme" kyk na die verskille tussen sekere terme soos = en: =, en ifndef en? =.

Ek het gevind dat ek verder deur die boek gegaan het omdat ek nie aktief GNU Make probeer gebruik nie en omdat my kennis op 'n baie basiese vlak is, het sommige van die onderwerp baie oor my kop gegaan.

Teen die tyd dat ek by die hoofstuk "Pushing The Envelope" gekom het, het my oë effens geglasuur.

My hoof opsomming, as ek hierdie boek moes opsom, is dat die skrywer sy goed ken en soveel moontlik inligting deurgee het.

Die probleem is dat soms wanneer 'n vakdeskundige probeer om iets af te skryf, hulle het hierdie "oh dit is maklik, al wat jy moet doen is ...." aura oor hulle.

Die rubber seël op my agterdeur het verlede week afgekom en toe dit net 'n paar jaar oud is, het ek die maatskappy geroep wat dit toegerus het, want dit is nog steeds in waarborg.

Die dame by die telefoon het gesê: "O, dit is ok, ek sal jou 'n nuwe seël uitstuur".

Ek het gesê: "O, moet ek dit self aanpas? Is dit iets wat ek kan doen?".

Die reaksie was: "Seker jy kan, al wat jy moet doen is om die deur uit te haal, die seël te pas en die deur weer aan te sit."

Nou is my oomblikke gedink: "Woah, blaas 'n bietjie daar. Trek die deur uit?!?". Ek is nie bevoeg om 'n deur te verwyder nie, 'n seël vas te maak en die deur te maak. Ek laat dit aan die kenners.

Met hierdie boek, voel ek dat jy nog 'n boek nodig het en 'n sekere hoeveelheid ondervinding skryf Makefiles voordat jy dit nuttig vind.

Ek dink die wenke, wenke en kennis wat verskaf word, sal sommige mense help om te sê: "O, so dit is hoekom dit doen" of "Ek het nie besef dat jy dit so kon doen nie".

My beoordeling is dus dat jy hierdie boek moet koop as jy opheldering of meer intermediêre tot gevorderde kennis op GNU Make wil soek, maar dit is nie 'n boek vir beginners nie.