Il-GNU Make Book - Demystifying Linux Build Automation

Minbarra li tikteb dwar Linux u kitba ta 'reviżjonijiet u tutorials dwar distribuzzjonijiet u għodda, jiena wkoll involut ħafna fl-iżvilupp tas-softwer. Sfortunatament, 99.9% ta 'dak l-iżvilupp tas-softwer isir fuq il-pjattaforma tal-Windows.

Għandi iktar minn 20 sena esperjenza bħala C + +, Visual Basic, VB.NET, u żviluppatur C # u ninsab ukoll b'idejn id-SQL Server kemm bħala DBA kif ukoll bħala żviluppatur.

Dak li jien mhux daqshekk tajjeb fuq qed jiżviluppa softwer għal-Linux. Hija biss xi ħaġa li jien qatt ma bothered verament magħhom. Ir-raġuni ewlenija hija li wara li żviluppa softwer matul il-jum l-aħħar ħaġa li rrid tagħmel hu li tiltaqa 'madwar ta' filgħaxija bil-miktub ta 'aktar software.

Jiena ovvjament nagħmel tbagħbis bil-kitba u bil-kitba tal-programm żgħir fard. Dawn huma ġeneralment għal proġetti bbażati fuq l- elettronika fuq il-Raspberry PI .

Ħaġa waħda li bosta żviluppaturi fuq il-pjattaforma tal-Windows se jkollhom problemi bihom meta jimxu l-ewwel darba fuq Linux qed jitgħallmu dwar l-għodda meħtieġa biex jibnu u jippakkjaw l-applikazzjonijiet.

S'issa t-tip ta 'applikazzjoni l-aktar faċli biex jiġu żviluppati huma l-applikazzjonijiet tal-web minħabba li ġeneralment ma jirrikjedux kodiċi kkumpilat (PHP, Perl, Python) u l-fajls huma skjerati f'post stabbilit fuq is-server web.

Numru kbir ta 'applikazzjonijiet mibnija għal Linux huma żviluppati bl-użu ta' C, C + + jew Python. Il-kumpilazzjoni ta 'programm C wieħed huwa relattivament faċli iżda meta jkollok bżonn tiġbor numru ta' programmi C b'dipendenzi multipli l-affarijiet jiksbu ftit aktar diffiċli.

GNU Make huwa għodda awtomatika tal-kitba li jgħinek tiġbor l-applikazzjonijiet tiegħek għal darb'oħra u għal darb'oħra u b'modi differenti. Pereżempju, tista 'tforni parametru li skont il-valur se jikkompila applikazzjoni li tuża 64-bit jew 32-bit.

Il-ktieb tal-GNU Make ġie miktub minn John Graham-Cumming biex jgħin lill-utenti tal-GNU Make jiksbu kontroll aktar sod tal-kumplessitajiet assoċjati mal-GNU Make.

Il-ktieb huwa maqsum f'sitt kapitoli:

  1. Il-Bażijiet Riveduti
  2. Makefile Debugging
  3. Bini u Bini mill-Ġdid
  4. Nuqqasijiet u Problemi
  5. Imbotta l-Envelop
  6. Il-Librerija Standard tal-GNU Make

Ma nemminx li l-ktieb huwa verament immirat lejn dawk li jibdew minħabba li m'għandux ċerti kjarifiki li tistenna meta titgħallem suġġett ġdid bħal "X'inhu GNU Make?", "Kif nista 'toħloq fajl Make?", "Għaliex qed tuża Jagħmlu aħjar milli jiġbru kull programm wieħed wieħed? " u "Kif nista 'niġbor il-programmi li jużaw GNU Make?". Dawn is-suġġetti kollha huma koperti fil -manwal tal-GNU Make .

Il-fatt li l-ewwel kapitolu jissejjaħ "Il-Bażijiet Riveduti" minflok "Il-Bażiċi" juri biċ-ċar li inti mistenni li jkollok bażi fil-materja tas-suġġett qabel ma tibda.

L-ewwel kapitolu jkopri l-bażiċi kollha bħall-użu ta 'varjabbli, ambjenti użati mill-kmandi u l-ambjent $ (Shell). Peress li l-kapitolu jimxi fuqek tidħol fis-suġġett ta 'paragun, listi, u funzjonijiet definiti mill-utent.

Jekk ilek tuża GNU Make għal ftit żmien imma għadha ma tikkunsidrax lilek innifsek bħala espert hemm xi ideat u pariri sbieħ li ser jgħinuk tifhem ċerti intrikitajiet li jistgħu ma jkunux immedjatament apparenti.

It-tieni kapitolu se jkun godsend għal dawk minnkom li kienu qed jippruvaw jaqbdu żbalji fil-kitbiet tal-bidu. Is-sezzjoni "Debugging Makefile" hija sħiħa ta 'ideat u suġġerimenti eċċellenti għall-debugging Makefiles u tinkludi taqsimiet dwar l-istampar tal-valuri varjabbli u anki d-dumping tal-valur ta' kull varjabbli. Aktar dwar il-kapitolu, hemm gwida għall-GNU Debugger li tista 'tuża biex tgħaddi skripts.

It-tielet kapitolu jinkludi eżempji ta 'makefiles iżda aktar minn dan turi kif għandek toħloq Makefiles li inti tista' taħdem għal darb'oħra u għal darb'oħra.

"Nuqqasijiet u Problemi" tħares lejn id-differenzi bejn ċerti termini bħal = u: =, u ifndef u? =.

Sibt kif għamilt aktar mill-ktieb li minħabba li jien ma tippruvax b'mod attiv l-użu ta 'GNU Make u għax l-għarfien tiegħi jinsab f'livell bażiku ħafna xi wħud mis-suġġett imorru ħafna fuq ras tiegħi.

Saż-żmien meta sibt il-kapitolu "Imbotta l-Envelop" il-għajnejn tiegħi ħġieġ ftit aktar.

Is-sommarju prinċipali tiegħi, jekk kelli niddefinixxi dan il-ktieb, huwa li l-awtur jaf b'mod ċar l-għalf tiegħu u pprova jgħaddi l-iktar informazzjoni possibbli.

Il-problema hija li xi kultant meta espert tas-suġġett jipprova jikteb xi ħaġa li għandhom dan "oh faċli tiegħu, kull ma għandek tagħmel hu ..." aura dwarhom.

Is-siġill tal-gomma fuq il-bieb ta 'wara deher il-ġimgħa li għaddiet u peress li huwa biss ftit ta' snin, jien stieden lill-kumpanija li twaħħalha billi għadha fil-garanzija.

Il-mara fuq it-telefon qal, "oh that's ok, jiena ser nibgħatlek siġill ġdid barra".

I said "Oh, għandi naddattajt lili nnifsi? Hija xi ħaġa li nista 'nagħmel".

It-tweġiba kienet "Sure tista ', kull ma għandek tagħmel hu li tneħħi l-bieb, tajbin is-siġill u poġġiet il-bieb lura".

Issa l-ħsieb immedjat tiegħi kien "woah, rewind daqsxejn hemm. Neħħi l-bieb?!". Jiena mhux kwalifikat biex ineħħi bieb, tajbin siġill u erġa 'bieb il-bieb. Nħallik lill-esperti.

Ma 'dan il-ktieb, inħoss li għandek bżonn ktieb ieħor u ċertu ammont ta' esperjenza bil-miktub Makefiles qabel ma ssibha utli.

Naħseb li l-ideat, it-truf u l-għerf ipprovduti jistgħu jgħinu lil xi nies jgħidu "Oh, u għalhekk hija dik li tagħmel dan" jew "Ma kontx naħseb li tista 'tagħmel dan il-mod".

L-evalwazzjoni tiegħi hija għalhekk li għandek tixtri dan il-ktieb jekk inti qiegħed tfittex kjarifika jew aktar tagħrif intermedjarju jew avvanzat dwar il-GNU Make imma mhuwiex ktieb għall-jibdew.