"GNU Make Book" - "Demystifying Linux Build automation"

Be to, rašydamas apie Linux ir rašydamas atsiliepimus bei vadovėlius apie platinimus ir įrankius, aš taip pat aktyviai dalyvauju programinės įrangos kūrime. Deja, 99,9% šios programinės įrangos kūrimo vyksta "Windows" platformoje.

Aš turiu daugiau nei 20 metų patirtį kaip C + +, Visual Basic, VB.NET ir C # kūrėjas, ir aš taip pat esu su SQL Server tiek DBA, tiek kūrėju.

Ką aš ne taip gerai, yra kurti "Linux" programinę įrangą. Tai tik kažkas, su kuria niekada nesijaudinau. Pagrindinė priežastis yra tai, kad po to, kai programinė įranga buvo sukurta per dieną, aš norėčiau sėdėti vakare rašydamas daugiau programinės įrangos.

Aš akivaizdžiai mėgsta tinkinti scenarijus ir rašyti keistą nedidelę programą. Tai dažniausiai yra elektronikos projektai "Raspberry PI" .

Vienas dalykas, kad daugelis "Windows" platformos kūrėjų susidurs su tuo, kai jie pirmą kartą perkelia į "Linux", mokosi apie priemones, reikalingas programoms kurti ir pakuoti.

Labiausiai paprastas kūrimo būdas yra žiniatinklio programos, nes paprastai jos nereikalauja sudaryto kodo (PHP, Perl, Python), o failai yra įdiegiami į tam tikrą vietą žiniatinklio serveryje.

Daugelis "Linux" sukurtų programų yra sukurtos naudojant C, C ++ ar Python. Vienos C programos sudarymas yra gana lengvas, bet kai reikia sudaryti keletą C programų su daugybe priklausomybių, viskas tampa šiek tiek sudėtingesnė.

"GNU Make" yra sukūrimo automatinio scenarijaus įrankis, kuris padeda surinkti jūsų programas iš naujo ir skirtingais būdais. Pavyzdžiui, galite pateikti parametrą, kuris, priklausomai nuo vertės, sukurs programą, naudojant 64 bitų arba 32 bitų.

"GNU Make" knygą parašė John Graham-Cumming, kad padėtų GNU naudotojams. Padarykite griežtesnį su GNU Make susijusį sudėtingumą.

Knyga skirstoma į šešis skyrius:

  1. Pagrindai persvarstomi
  2. Makefile derinimas
  3. Statyba ir atstatymas
  4. Spuogai ir problemos
  5. Stumti voką
  6. GNU standarto biblioteka

Nemanau, kad knyga tikrai yra skirta pradedantiesiems, nes joje trūksta tam tikrų paaiškinimų, kuriuos galėtumėte tikėtis, kai mokosi naujo dalyko, tokio kaip "Kas yra GNU", "Kaip sukurti failą"? "," Kodėl naudoja geriau nei kompiliuodamas kiekvieną programą po vieną? " ir "Kaip sukonfigūruoti programas naudojant GNU maketą?". Visos šios temos yra aprašytos GNU parengties vadove .

Tas faktas, kad pirmasis skyrius vadinamas "Pagrindai persvarstytas", o ne "pagrindai", aiškiai rodo, kad jūs turėsite įžvelgti dalyką prieš pradėdami.

Pirmas skyrius apima visus pagrindus, tokius kaip kintamųjų naudojimas, komandų aplinka ir aplinka "$ (Shell). Kaip skyriuje juda jums patekti į palyginimo dalykus, sąrašus ir vartotojo apibrėžtas funkcijas.

Jei naudojate "GNU Make" šiek tiek, bet dar nesuvokiate savęs eksperto, yra keletas gražių patarimų ir patarimų, kurie padės jums suprasti tam tikras sudėtingumo problemas, kurios gali būti nedelsiant akivaizdžios.

Antrasis skyrius bus tuštuma tiems iš jūsų, kurie stengėsi sugadinti konstrukcijos scenarijus. Skyriuje "Makefile derinimas" yra pilnas puikių patarimų ir patarimų, kaip ištaisyti "Makefile", ir apima skirsnius, skirtus spausdinti kintamas vertes ir net dempingo vertės kiekvieno kintamojo. Toliau skyriuje pateikiamas "GNU Debugger" vadovas, kurį galite naudoti per scenarijus.

Trečiame skyriuje pateikiamas pavyzdys makefiles, bet daugiau nei rodo, kaip kurti "Makefiles", kuriuos galite paleisti iš naujo ir vėl.

"Pralaimėjimai ir problemos" nagrinėjami tam tikrų terminų, tokių kaip = ir: =, ir ifndef bei? =, Skirtumai.

Radau, kai žengiau per knygą, nes nesiekiu aktyviai bandyti naudoti "GNU Make" ir kadangi mano žinios yra labai paprastos, kai kurios temos buvo labai daug.

Iki to laiko, kai aš pateko į skyrių "Stumdamas voką", mano akys uždengė šiek tiek.

Mano pagrindinė santrauka, jei turėčiau apibendrinti šią knygą, yra tai, kad autorius aiškiai žino savo daiktus ir bandė perduoti kuo daugiau informacijos.

Problema ta, kad kartais, kai dalykas ekspertas bando ką nors parašyti, jie turi šį "ai lengva, viskas, ką turite padaryti, yra ...." aura apie juos.

Praėjusios savaitės guminė antspauduotė ant galinių durų išsitraukė, nes, kaip tik pora metų, aš vadinu kompaniją, kuri ją įrengė, nes ji vis dar yra garantija.

Motina ant telefono sakė: "O, tai gerai, aš atsiųsiu jums naują antspaudą".

Aš pasakiau: "Ar aš turiu tinka tai pats? Ar tai kažkas, ką galiu padaryti".

Atsakymas buvo "Žinoma, jūs galite, viskas, ko jums reikia padaryti, tai nuimti duris, pritvirtinti antspaudą ir atidaryti duris".

Dabar mano momentinis mintis buvo "woah, šiek tiek atsukite ten, nuimkite duris?!?". Aš negaliu pašalinti durų, pritvirtinti antspaudą ir pakoreguoti duris. Aš palikau tai ekspertams.

Naudodamiesi šia knyga, manau, kad jums reikia kitos knygos ir tam tikros patirties rašydami "Makefiles", kol atrodysite naudinga.

Manau, kad pateikiami patarimai, patarimai ir žinios padėtų kai kuriems žmonėms pasakyti "O, tai yra, kodėl tai daro" arba "Aš nesuvokiau, kad tu gali tai padaryti".

Todėl mano vertinimas yra tai, kad jūs turėtumėte įsigyti šią knygą, jei ieškote paaiškinimų ar daugiau tarpinių, kad gautumėte pažangių žinių apie GNU Make, bet tai nėra pradedantiesiems skirta knyga.