A GNU Make Book - Demystifying Linux Build Automation

Csakúgy, mint a Linuxról írt írásokról és a terjesztésekről és eszközökről szóló ismertetésekről és útmutatókról, szintén nagy szerepet játszanak a szoftverfejlesztésben. Sajnos a szoftverfejlesztés 99,9% -a a Windows platformon zajlik.

Több mint 20 éves tapasztalatom van a C ++, a Visual Basic, a VB.NET és a C # fejlesztőjeként, és én is egy dab-kéz az SQL Server-sel, mind DBA-ként, mind fejlesztőként.

Amit nem vagyok olyan jó a Linux szoftverek fejlesztése. Ez csak valami, amivel soha nem nagyon foglalkoztam. A fő oka az, hogy a szoftver fejlesztése után a nap folyamán az utolsó dolog, amit akarok tenni, egy esti szórakozás, több szoftvert írni.

Nyilvánvalóan szeretem a szkriptelést és a furcsa kis program írását. Ezek általában az elektronikai alapú projektek a Raspberry PI .

Az egyik dolog, hogy sok fejlesztő a Windows platformon lesz baj, amikor először át a Linux megismerkedik az eszközöket, amelyek szükségesek az alkalmazások létrehozásához és csomagolásához.

A fejlesztéshez legegyszerűbben alkalmazható webes alkalmazások, mivel általában nem igényelnek fordított kódot (PHP, Perl, Python), és a fájlokat a webszerver egy meghatározott helyére telepítik.

A Linuxra épített nagyszámú alkalmazás fejlesztése C, C ++ vagy Python segítségével történik. Egyetlen C program összeállítása viszonylag könnyű, de ha több C függvényt kell összeállítania, a dolgok kicsit bonyolultak.

A GNU Make egy build automatizálás szkriptkészítő eszköz, amely segít újra összeállítani az alkalmazásokat és újra és újra különböző módon. Például megadhat egy olyan paramétert, amely az érték függvényében 64 vagy 32 bites alkalmazást képes összeállítani.

A GNU Make könyvét John Graham-Cumming írta, hogy segítsen a GNU Make felhasználóknak a GNU Make-hez kapcsolódó összetettséghez.

A könyv hat fejezetre oszlik:

  1. Az alapok újragondolása
  2. Makefile hibakeresés
  3. Építés és újjáépítés
  4. Buktatók és problémák
  5. A boríték meghúzása
  6. A GNU készíti a normál könyvtárat

Nem hiszem, hogy a könyv valóban a kezdőknek szól, mert nincsenek bizonyos pontosításai, amelyeket egy olyan új tantárgy tanulása során várt volna, mint például: "Mi a GNU Make?", "Hogyan hozhatok létre fájlt?", "Miért használ jobbra, mint az egyes programok összeállítása egyenként? " és "Hogyan készítsek programokat a GNU Make segítségével?". A témakörök mindegyike a GNU kézikönyvben található .

Az a tény, hogy az első fejezetet "Az alapok felülvizsgálták", ellentétben az "Alapismeretekkel", világosan megmutatja, hogy előreláthatólag meg kell alapozni a témát, mielőtt elkezdené.

Az első fejezet tartalmazza az összes alapot, például a változók használatát, a parancsok által használt környezeteket és a $ (Shell) környezetet. Ahogy a fejezet átmegy, az összehasonlítás, a listák és a felhasználó által definiált témák tárgyává válik.

Ha a GNU Make-et egy darabig használta, de még nem tartja magát szakértőnek, akkor vannak néhány kedves tanács és tipp, amelyek segítenek megérteni bizonyos bonyodalmakat, amelyek nem feltétlenül láthatók.

A második fejezet egy istenszeredés azoknak, akik megpróbálták elkapni a hibákat a build szkriptekben. A "Makefile Debugging" rész tele van kiváló tanácsokkal és tippekkel a Makefiles hibakeresésére, és tartalmazza a változók értékeinek nyomtatását és akár minden változó értékét. A fejezetben további útmutatást talál a GNU Debugger számára, amelyet a szkriptek használatához használhat.

A harmadik fejezet példákat tartalmaz a makefile-ekről, de annál többet mutat, hogyan hozhat létre olyan Makefile-eket, amelyeket újra és újra futtathatsz.

A "buktatók és problémák" megvizsgálja az egyes kifejezések (például = és: =, és ifndef és? =) Közötti különbségeket.

Megállapítottam, hogy tovább mentem a könyvről, mert mivel nem vagyok aktívan próbálom használni a GNU Make-et, és mert az ismereteim nagyon alapos szinten vannak, a témák egy része nagyon megy keresztül a fejem felett.

Mire eljutottam a "Pushing the Envelope" fejezethez, szemem kissé maszkolódott.

A fő összefoglaló, ha összefoglalnom kell ezt a könyvet, az, hogy a szerző tisztán ismeri a dolgát, és megpróbálta átadni a lehető legtöbb információt.

A probléma az, hogy néha, amikor egy tárgyszakértő megpróbál valamit írni valamire, akkor ezt "ó, könnyű, mindössze annyit kell tennie, hogy ..." aura róluk.

A hátsó ajtón lévő gumitömítés a múlt héten jött ki, és mivel csak egy pár éves vagyok, úgy hívtam a céget, hogy illesztette be, mivel még mindig garancia.

A telefonos hölgy azt mondta: "Ó, ez rendben van, új pecsétet küldök".

Azt mondtam: "Ó, meg kell csinálnom magam, ez az, amit tehetek".

A válasz: "Biztos lehetsz, mindössze annyit kell tennie, hogy vegye le az ajtót, illessze be a pecsétet, és tegye vissza a kaput".

Most az én pillanatom az volt, hogy "woah, visszacsévélsz egy kicsit ott, vegye le az ajtót!" Nem vagyok képes megszüntetni az ajtót, pecsétet kötni, és visszahelyezni az ajtót. Ezt hagyom a szakértőknek.

Ezzel a könyvvel úgy érzem, hogy még egy könyvet és egy bizonyos mennyiségű tapasztalatot kell megírnia a Makefile-eket, mielőtt hasznosnak találná.

Azt hiszem, a felajánlott tippek, tippek és tudás segítene néhány embernek azt mondani: "Ó, ezért van ez", vagy "nem vettem észre, hogy így tehetnénk."

Ezért az a véleményem, hogy meg kell vásárolnia ezt a könyvet, ha tisztázást vagy közbenső vagy magasabb szintű ismereteket keres a GNU Make-ben, de ez nem kezdőknek készült.