The GNU Make Book: Demystifying Linux Build Automation

A més d'escriure sobre Linux i escriure ressenyes i tutorials sobre distribucions i eines, també estic molt involucrat en el desenvolupament de programari. Lamentablement, el 99,9% d'aquest desenvolupament de programari té lloc a la plataforma Windows.

Tinc més de 20 anys d'experiència com a desenvolupador de C + +, Visual Basic, VB.NET i C #, i també tinc una solució amb el servidor SQL com a DBA i desenvolupador.

El que no estic tan bé és desenvolupar programari per a Linux. És una cosa que mai m'ha molestat mai. El motiu principal és que després de desenvolupar programari durant el dia, l'últim que vull fer és seure al voltant d'una nit escrivint més programari.

Evidentment, m'agrada interpretar les seqüències d'ordres i escriure el petit i petit programa. Aquests solen ser per a projectes basats en electrònica a la Raspberry PI .

Una cosa que molts desenvolupadors de la plataforma Windows tindran problemes amb quan passen per primer cop a Linux, s'està aprenent sobre les eines necessàries per construir i empaquetar aplicacions.

De lluny, el tipus d'aplicació més senzill per desenvolupar són aplicacions web, ja que en general no requereixen codi compilat (PHP, Perl, Python) i els fitxers es despleguen en un lloc establert al servidor web.

Una gran quantitat d'aplicacions creades per a Linux es desenvolupen utilitzant C, C ++ o Python. La compilació d'un únic programa C és relativament fàcil, però quan necessiteu compilar diversos programes C amb dependències múltiples, les coses són una mica més complicades.

GNU Make és una eina de script d'automatització de compilació que us ajuda a compilar les vostres aplicacions una i altra vegada i de diferents maneres. Per exemple, podeu subministrar un paràmetre que, segons el valor, compilarà una aplicació que utilitzi 64 bits o 32 bits.

GNU Make book ha estat escrit per John Graham-Cumming per ajudar els usuaris de GNU a aconseguir un control més ferm de les complexitats associades amb GNU Make.

El llibre es divideix en sis capítols:

  1. Els aspectes bàsics revisats
  2. Depuració de fitxers multimèdia
  3. Construcció i reconstrucció
  4. Problemes i problemes
  5. Empenyent el sobre
  6. La biblioteca estàndard de GNU Make

No crec que el llibre estigui realment destinat als principiants perquè manca certes aclariments que esperaria quan aprengués un nou tema com "Què és GNU Make?", "Com es crea un fitxer de configuració?", "Per què? està utilitzant Fer millor que compilar cada programa un per un? " i "Com puc compilar programes amb GNU Make?". Totes aquestes àrees temàtiques estan cobertes en el manual de GNU Make .

El fet que el primer capítol s'anomena "Els conceptes bàsics revisats" en contraposició a "Conceptes bàsics" demostra clarament que se us espera tenir un fonament en el tema abans de començar.

El primer capítol abasta tots els conceptes bàsics com ara l'ús de variables, els entorns utilitzats per les ordres i l'entorn $ (Shell). A mesura que avança el capítol, introduïu el tema de la comparació, les llistes i les funcions definides per l'usuari.

Si heu estat usant GNU Make per poc temps però encara no us heu considerat un expert, hi ha alguns suggeriments i suggeriments que us ajudaran a comprendre certes complexitats que pot ser que no apareguin immediatament.

El segon capítol serà un servei de debò per a aquells que han intentat detectar errors en scripts de compilació. La secció "Depuració de fitxers" està plena de consells i suggeriments excel·lents per depurar Makefiles i inclou seccions sobre la impressió de valors de variable i fins i tot el valor del valor de cada variable. Més enllà del capítol, hi ha una guia per al depurador de GNU que podeu utilitzar per passar a les seqüències d'ordres.

El tercer capítol inclou, per exemple, fitxers makefile però més que això us mostra com crear Makefiles que podeu executar una i altra vegada.

"Trampes i problemes" analitza les diferències entre certs termes com = i: =, i ifndef i? =.

Vaig trobar que vaig anar més enllà del llibre perquè no estic intentant activament utilitzar GNU Make i perquè el meu coneixement es troba en un nivell molt bàsic, alguns dels temes van ser molt més que cap.

En el moment en què vaig arribar al capítol "Empenyent el sobre", els meus ulls es van esmaltar un poc.

El meu resum principal, si hagués de resumir aquest llibre, és que l'autor coneix perfectament les seves coses i ha intentat transmetre la màxima informació possible.

El problema és que, de vegades, quan un expert en temes intenta escriure alguna cosa, teniu aquest "oh és fàcil", tot el que has de fer és ... "aura sobre ells.

El segell de goma a la meva porta del darrere va sortir la setmana passada i, ja que fa només un parell d'anys, vaig trucar a l'empresa que l'equipava, ja que encara està en garantia.

La senyora al telèfon va dir: "oh això està bé, us enviaré un nou segell".

Vaig dir: "He d'ajustar-me jo mateix? És això que puc fer".

La resposta va ser: "Segur que podeu, només heu d'enlairar la porta, ajuntar el segell i tornar a posar la porta".

Ara, el meu pensament immediat va ser "woah, rebobinar una mica allà, treure la porta?". No estic qualificat per eliminar una porta, encaixar un segell i tornar a posar la porta. Els deixo als experts.

Amb aquest llibre, crec que necessiteu un altre llibre i certa experiència en escriure Makefiles abans de trobar-lo útil.

Crec que els suggeriments, els consells i el coneixement proporcionats ajudarien a algunes persones a dir "Oh, per això ho fa això" o "no em vaig adonar que podries fer-ho d'aquesta manera".

Per tant, la meva valoració és que heu de comprar aquest llibre si voleu obtenir aclariments o més coneixements intermedis o avançats sobre GNU Make però no és un llibre per a principiants.