Skip to main content

GNU Make Book - Demistificare l'automazione di Linux Build

Calling All Cars: The Grinning Skull / Bad Dope / Black Vengeance (Aprile 2025)

Calling All Cars: The Grinning Skull / Bad Dope / Black Vengeance (Aprile 2025)
Anonim

Oltre a scrivere su Linux e scrivere recensioni e tutorial su distribuzioni e strumenti, sono anche fortemente coinvolto nello sviluppo di software. Sfortunatamente, il 99,9% di tale sviluppo del software avviene sulla piattaforma Windows.

Ho oltre 20 anni di esperienza come sviluppatore C ++, Visual Basic, VB.NET e C # e sono anche una mano utile con SQL Server sia come DBA che come sviluppatore.

Quello che non sono così bravo è lo sviluppo di software per Linux. E 'solo qualcosa con cui non mi sono mai preso la briga. Il motivo principale è che dopo aver sviluppato software durante il giorno, l'ultima cosa che voglio fare è sedermi intorno a una serata scrivendo più software.

Ovviamente mi piace armeggiare con lo scripting e scrivere il piccolo programma strano. Questi sono di solito per progetti basati sull'elettronica sul Raspberry PI.

Una cosa su cui molti sviluppatori della piattaforma Windows avranno dei problemi quando si spostano su Linux per la prima volta sta imparando gli strumenti necessari per creare e pacchettizzare le applicazioni.

Di gran lunga il tipo più semplice di applicazione da sviluppare sono le applicazioni web perché in genere non richiedono codice compilato (PHP, Perl, Python) e i file vengono distribuiti in una posizione predefinita sul server web.

Un gran numero di applicazioni create per Linux sono sviluppate usando C, C ++ o Python. La compilazione di un singolo programma C è relativamente semplice, ma quando è necessario compilare un certo numero di programmi C con dipendenze multiple, le cose diventano un po 'più complicate.

GNU Make è uno strumento di script di automazione della build che ti aiuta a compilare le tue applicazioni più e più volte e in modi diversi. Ad esempio, è possibile fornire un parametro che, a seconda del valore, compilerà un'applicazione utilizzando 64 bit o 32 bit.

Il libro GNU Make è stato scritto da John Graham-Cumming per aiutare gli utenti di GNU Make a ottenere una presa più salda delle complessità associate a GNU Make.

Il libro è diviso in sei capitoli:

  1. Le basi rivisitate
  2. Makefile Debugging
  3. Costruire e ricostruire
  4. Insidie ​​e problemi
  5. Spingendo la busta
  6. GNU Make Standard Library

Non credo che il libro sia davvero rivolto ai principianti perché manca di alcuni chiarimenti che ti aspetteresti quando apprendi un nuovo argomento come "Che cos'è GNU Make?", "Come creo un file Make?", "Perché sta usando Fai meglio della compilazione di ogni programma uno per uno? " e "Come faccio a compilare programmi usando GNU Make?". Tutte queste aree tematiche sono trattate nel manuale GNU Make.

Il fatto che il primo capitolo sia intitolato "The Basics Revisited" rispetto a "The Basics" mostra chiaramente che ci si aspetta che tu abbia una base sull'argomento prima di iniziare.

Il primo capitolo tratta tutte le nozioni di base come l'uso di variabili, ambienti utilizzati dai comandi e l'ambiente $ (Shell). Mentre il capitolo si sposta, si entra nell'argomento del confronto, degli elenchi e delle funzioni definite dall'utente.

Se hai utilizzato GNU Make per un po 'di tempo, ma non ti consideri ancora un esperto, ci sono alcuni suggerimenti e suggerimenti che ti aiuteranno a capire alcune complicazioni che potrebbero non essere immediatamente evidenti.

Il secondo capitolo sarà una manna dal cielo per quelli di voi che hanno cercato di intrappolare gli errori negli script di costruzione. La sezione "Makefile Debugging" è ricca di suggerimenti e suggerimenti eccellenti per il debug di Makefile e include sezioni sulla stampa di valori variabili e persino il valore di ogni variabile. Più avanti nel capitolo, c'è una guida a GNU Debugger che puoi usare per scorrere gli script.

Il terzo capitolo include i makefile di esempio, ma più di questo ti mostra come creare Makefile che puoi eseguire ancora e ancora.

"Insidie ​​e problemi" esamina le differenze tra alcuni termini come = e: =, e ifndef e? =.

Ho scoperto come ho approfondito il libro perché, poiché non sto attivamente cercando di utilizzare GNU Make, e poiché la mia conoscenza è a un livello molto basilare, alcuni degli argomenti trattati sono andati molto oltre la mia testa.

Quando arrivai al capitolo "Spingi la busta", i miei occhi si inumidirono un po '.

Il mio sommario principale, se dovessi riassumere questo libro, è che l'autore conosce chiaramente la sua roba e ha cercato di trasmettere quante più informazioni possibili.

Il problema è che a volte quando un esperto in materia cerca di scrivere qualcosa, hanno questa aura "oh è facile, tutto quello che devi fare ….".

Il sigillo in gomma sulla mia porta posteriore è venuto fuori la scorsa settimana e dato che è solo un paio di anni ho chiamato la società che lo ha montato perché è ancora in garanzia.

La signora al telefono ha detto "oh, va bene, ti manderò un nuovo sigillo".

Ho detto "Oh, devo adattarlo da solo? È qualcosa che posso fare".

La risposta è stata: "Certo che puoi, tutto ciò che devi fare è togliere la porta, montare il sigillo e riaccendere la porta".

Ora il mio pensiero istantaneo era "woah, riavvolgi un po 'lì, togliti la porta?!?". Non sono qualificato per rimuovere una porta, montare un sigillo e rimontare la porta. Lascio questo agli esperti.

Con questo libro, sento che hai bisogno di un altro libro e di una certa esperienza di scrittura dei Makefile prima che tu possa trovare utile.

Penso che i suggerimenti, i suggerimenti e le conoscenze fornite possano aiutare alcune persone a dire "Oh, ecco perché lo fa" o "Non mi rendevo conto che potevi farlo in quel modo".

La mia valutazione è quindi che dovresti acquistare questo libro se cerchi chiarimenti o conoscenze intermedie o avanzate su GNU Make ma non è un libro per principianti.