GNU Make Book - Demistificiranje sustava Linux Build Automation

Kao i pisanje o Linuxu i pisanje recenzija i vodiča o distribucijama i alatima, ja sam također jako uključen u razvoj softvera. Nažalost, 99,9% tog razvoja softvera odvija se na Windows platformi.

Imam više od 20 godina iskustva kao C ++, Visual Basic, VB.NET i C # programer, a ja sam i ruka s SQL Serverom i kao DBA i razvojni programer.

Ono što nisam tako dobar u razvoju softvera za Linux. To je samo nešto s kojim nikad nisam doista smetao. Glavni razlog je to da nakon razvoja softvera tijekom dana posljednja stvar koju želim učiniti je sjediti oko večeri pisanje više softvera.

Očigledno mi se sviđa skitnica i pisanje neobičnog malog programa. To su obično projekti koji se temelje na elektronici na malini PI .

Jedna stvar koju će mnogi programeri na platformi Windows imati poteškoća prilikom prelaska na Linux znaju o alatima potrebnim za izradu i pakiranje aplikacija.

Daleko najjednostavniji oblik aplikacije za razvoj su web aplikacije jer obično ne zahtijevaju sastavljeni kod (PHP, Perl, Python) i datoteke se distribuiraju na određeno mjesto na web poslužitelju.

Veliki broj aplikacija izgrađenih za Linux razvijeni su pomoću C, C ++ ili Python. Sklapanje jednog C programa relativno je lako, ali kada trebate sastaviti više C programa s više ovisnosti, stvari postaju malo teže.

GNU Make je alat za automatizaciju skripti za izgradnju koji vam pomaže da ponovno sastavite svoje aplikacije i na različite načine. Na primjer, možete unijeti parametar koji će ovisno o vrijednosti sastaviti aplikaciju pomoću 64-bitnog ili 32-bitnog.

GNU Make knjigu napisao je John Graham-Cumming kako bi pomogao korisnicima GNU Makea da dobiju čvršće zahvaćanje složenosti povezanih s GNU Make-om.

Knjiga je podijeljena u šest poglavlja:

  1. Osnove su revizirane
  2. Debugging za Makefile
  3. Izgradnja i obnova
  4. Zamke i problemi
  5. Pushing omotnica
  6. GNU napraviti standardnu ​​knjižnicu

Ne vjerujem da je knjiga zaista usmjerena na početnike jer nema određenih pojašnjenja koja biste očekivali kada biste učili novu temu kao što su "Što je GNU make?", "Kako stvoriti Make datoteku?", "Zašto koristi se bolje od sastavljanja svakog programa jedan po jedan? " i "Kako mogu kompajlirati programe pomoću GNU Make?". Sve ove teme pokrivene su u priručniku GNU Make .

Činjenica da se prvo poglavlje naziva "Osnove revizija", nasuprot "Osnove" jasno pokazuje da se od vas očekuje da imate temelje u predmetu prije nego što počnete.

Prvo poglavlje obuhvaća sve osnove poput korištenja varijabli, okruženja koje koriste naredbe i okruženje $ (Shell). Kako se ovo poglavlje pomiče, pristupite temi usporedbe, popisa i korisnički definiranih funkcija.

Ako ste već neko vrijeme upotrebljavali GNU Make, ali još se ne smatra stručnjakom, postoje neke lijepe savjete i savjete koji će vam pomoći da razumijete određene zamršene radnje koje možda nisu odmah vidljive.

Drugo poglavlje će biti bogoslužje za one od vas koji su pokušavali zamotati pogreške u gradnji skripti. "Makefile Debugging" odjeljak je pun izvrsnih savjeta i savjeta za ispravljanje pogrešaka Makefiles i uključuje odjeljke na ispis varijable vrijednosti, pa čak i damping vrijednost svake varijable. Dalje u poglavlju nalazi se vodič GNU Debugger-a koji možete koristiti za korak kroz skripte.

Treće poglavlje uključuje primjer makefile, ali više od toga pokazuje vam kako stvoriti Makefile koje možete ponovo i ponovo pokrenuti.

"Zamke i problemi" razmatraju razlike između određenih pojmova kao što su = i: =, i ifndef i? =.

Otkrio sam kako sam prolazio kroz knjigu jer zato što ne aktivno pokušavam koristiti GNU make i zato što je moje znanje na vrlo osnovnoj razini, neki od predmeta prošli su mi mnogo iznad glave.

Do trenutka kada sam stigla do poglavlja "Pushing the Envelope", moje su oči pomalo zasijane.

Moj glavni sažetak, ako sam morao sažeti ovu knjigu, je da autor jasno zna svoje stvari i pokušao prenijeti što više informacija što je više moguće.

Problem je u tome što ponekad kada stručnjak za predmet pokuša nešto napisati, imaju to "a to je jednostavno, sve što morate učiniti je ...." aura o njima.

Gumena brtva na stražnjim vratima izašla je prošlog tjedna i kao što je samo nekoliko godina sam nazvao tvrtku koja ga je ugradila jer je još uvijek u jamstvu.

Dama na telefonu rekla je: "Oh, to je u redu, poslat ću vam novu pečat".

Rekao sam: "Oh, moram li se uklopiti, to je nešto što mogu učiniti".

Odgovor je bio: "Naravno da možete, sve što trebate učiniti je skinuti vrata, staviti pečat i vratiti vrata natrag".

Sada je moja trenutačna misao bila "woah, premotajte malo tamo, skinite vrata?!?". Nisam sposoban ukloniti vrata, staviti pečat i ponovno staviti vrata. Ja to ostavljam stručnjacima.

S ovom knjigom smatram da vam je potrebna druga knjiga i određena količina iskustva u pisanju Makefilea prije nego što biste ga pronašli korisnim.

Mislim da bi savjeti, savjeti i znanja pomogli nekima da kažu "Oh, zato to i jest" ili "nisam shvatila da to možete učiniti na taj način".

Moja procjena je stoga da biste trebali kupiti ovu knjigu ako tražite opširnije ili više srednjeg do naprednog znanja o GNU make-u, ali to nije knjiga za početnike.