Knihovna GNU Make - Demystifying Linux Build Automation

Stejně jako psaní o Linuxu a psaní recenzí a výukových listů o distribucích a nástrojích jsem se také silně podílel na vývoji softwaru. Bohužel 99,9% tohoto vývojového softwaru probíhá na platformě Windows.

Mám více než 20 let zkušeností jako vývojář C ++, Visual Basic, VB.NET a C # a jsem také dab rukou se serverem SQL Server jak jako DBA, tak jako vývojář.

To, o co nejsem tak dobrý, je vývoj softwaru pro Linux. Je to jen něco, s čím jsem se nikdy neobtěžoval. Hlavním důvodem je to, že po vývoji softwaru během dne, poslední věc, kterou chci udělat, je sedět kolem večera psát další software.

Já samozřejmě mám rád scrapování a psaní nepatrného malého programu. Jedná se obvykle o projekty založené na elektronice na trhu Raspberry PI .

Jedna věc, na kterou mají mnoho vývojářů na platformě Windows potíže, když se poprvé přesunou na Linux, se dozví o nástrojích potřebných pro vytváření a balení aplikací.

Jedním z nejjednodušších typů aplikací, které je třeba vyvinout, jsou webové aplikace, protože obecně nevyžadují kompilovaný kód (PHP, Perl, Python) a soubory jsou nasazeny na určené místo na webovém serveru.

Velké množství aplikací postavených pro Linux je vyvíjeno pomocí C, C ++ nebo Pythonu. Kompilace jednoho C programu je poměrně snadná, ale když potřebujete sestavit řadu programů C s více závislostmi, věci se trochu znesnadňují.

GNU Make je nástroj pro vytváření automatizovaných skriptů, který vám pomůže sestavovat vaše aplikace znovu a znovu a různými způsoby. Například můžete zadat parametr, který v závislosti na hodnotě kompiluje aplikaci pomocí 64bitové nebo 32bitové.

GNU Make kniha napsal John Graham-Cumming, aby pomohl uživatelům GNU Make získat pevnější přilnavost ke složitosti spojené s GNU Make.

Kniha je rozdělena do šesti kapitol:

  1. Základy revidované
  2. Makefile Ladění
  3. Stavba a přestavba
  4. Úskalí a problémy
  5. Vytlačování obálky
  6. GNU Make Standardní knihovna

Nemyslím si, že kniha je skutečně zaměřena na začátečníky, protože postrádá určité objasnění, které byste očekávali při učení nového předmětu, jako je "Co GNU dělá?", "Jak vytvořit soubor?", "Proč Používáte lepší než sestavování jednotlivých programů jeden po druhém? " a "Jak mohu kompilovat programy pomocí GNU Make?". Všechny tyto oblasti jsou zahrnuty v manuálu GNU Make .

Skutečnost, že první kapitola se nazývá "Základy revidované" na rozdíl od "Základy", jasně ukazuje, že se od vás očekává, že budete mít zájem o předmět před tím, než začnete.

První kapitola se zabývá všemi základy, jako je použití proměnných, prostředí používaná příkazy a prostředí $ (Shell). Jak se kapitola pohybuje, dostanete se do předmětu porovnání, seznamů a uživatelských funkcí.

Pokud používáte GNU Make na chvíli, ale ještě se nepovažujete za odborníka, existují některé pěkné tipy a tipy, které vám pomohou porozumět jistým složitostem, které nemusí být okamžitě zřejmé.

Druhá kapitola bude pro ty z vás, kteří se pokoušejí zachytit chyby ve vytváření skriptů, bohatstvím. Sekce "Ladění ladění" je plná skvělých tipů a tipů pro ladění Makefile a obsahuje sekce o tisku proměnných hodnot a dokonce i vyloučení hodnoty každé proměnné. Dále v kapitole naleznete průvodce GNU Debugger, který můžete použít pro skriptování skriptů.

Třetí kapitola obsahuje příklady makefile, ale víc než to ukazuje, jak vytvořit Makefiles, které můžete spustit znovu a znovu.

"Úskalí a problémy" se zabývá rozdíly mezi určitými výrazy, jako jsou = a: =, a ifndef a? =.

Našel jsem, když jsem prošel knihou, že proto, že se aktivně nepoužívám GNU Make, a proto, že mé znalosti jsou na velmi základní úrovni, některé předměty se mi hodně přesily.

V době, kdy jsem se dostal do kapitoly "Pushing The Envelope", mi oči trochu zmrzly.

Můj hlavní shrnutí, pokud musím shrnout tuto knihu, je, že autor jasně zná své věci a snažil se předat co nejvíce informací.

Problémem je, že někdy, když se odborník na předměty snaží něco napsat, mají tohle "je to snadné, všechno, co musíte udělat, je ..." aura o nich.

Gumová pečeť na zadních dveřích vyšla minulý týden a jak je to pár let, zavolal jsem firmu, která ji vybavila, protože je stále v záruce.

Paní na telefonu řekla: "Ach, to je v pořádku, pošlu ti novou pečeť".

Řekl jsem: "Musím to udělat sám? Je to něco, co mohu udělat".

Odpověď byla: "Jasně, že dokážete, stačí jen vzít dveře, uložit těsnění a vrátit dveře zpět".

Teď můj okamžitý myšlenka byla "Woah, trochu to vzad, vyskočit dveře?!". Nemám kvalifikaci k odstranění dveří, zaplnění pečeti a namontování dveří. Zanechám to odborníkům.

S touto knihou cítím, že potřebujete jinou knihu a určitou zkušenost s psaním Makefiles, než byste to považovali za užitečné.

Myslím, že tipy, tipy a znalosti by pomohly některým lidem říci "Ach, to je důvod, proč to dělá", nebo "Neuvědomil jsem si, že bys to mohl dělat tímto způsobem".

Moje hodnocení je proto, že byste si měli koupit tuto knihu, pokud hledáte objasnění nebo více pokročilých znalostí o GNU Makeu, ale nejde o knihu pro začátečníky.