Naast schrijven over Linux en het schrijven van recensies en tutorials over distributies en tools ben ik ook sterk betrokken bij softwareontwikkeling. Helaas vindt 99,9% van die softwareontwikkeling plaats op het Windows-platform.
Ik heb meer dan 20 jaar ervaring als een ontwikkelaar van C ++, Visual Basic, VB.NET en C # en ik ben ook een scharshand met SQL Server, zowel als een DBA en een ontwikkelaar.
Waar ik niet zo goed in ben, is het ontwikkelen van software voor Linux. Het is gewoon iets waar ik me nooit echt mee heb beziggehouden. De belangrijkste reden is dat na het ontwikkelen van software overdag het laatste wat ik wil doen, een avond zitten met het schrijven van meer software.
Ik vind het natuurlijk leuk om te sleutelen aan scripting en het schrijven van het oneven kleine programma. Dit zijn meestal voor op elektronica gebaseerde projecten op de Raspberry PI.
Een ding dat veel ontwikkelaars op het Windows-platform moeilijk zullen hebben wanneer ze voor het eerst overstappen naar Linux is leren over de tools die nodig zijn om applicaties te bouwen en te verpakken.
Verreweg het eenvoudigst te ontwikkelen type applicatie zijn webtoepassingen omdat ze over het algemeen geen gecompileerde code vereisen (PHP, Perl, Python) en de bestanden worden geïmplementeerd naar een vaste plaats op de webserver.
Een groot aantal applicaties gebouwd voor Linux zijn ontwikkeld met behulp van C, C ++ of Python. Het samenstellen van een enkel C-programma is relatief eenvoudig, maar als je een aantal C-programma's met meerdere afhankelijkheden moet compileren, wordt het een beetje lastiger.
GNU Make is een scriptingstool voor het maken van automatisering waarmee u uw applicaties steeds opnieuw en op verschillende manieren kunt compileren. U kunt bijvoorbeeld een parameter opgeven die afhankelijk van de waarde een toepassing compileert met 64-bits of 32-bits.
Het boek GNU Make is geschreven door John Graham-Cumming om gebruikers van GNU Make te helpen de complexiteit van GNU Make beter in de vingers te krijgen.
Het boek is opgesplitst in zes hoofdstukken:
- The Basics Revisited
- Makefile Debugging
- Bouwen en herbouwen
- Valkuilen en problemen
- De envelop duwen
- De GNU make standaardbibliotheek
Ik geloof niet dat het boek echt op beginners is gericht, omdat het bepaalde verduidelijkingen mist die je zou verwachten bij het leren van een nieuw onderwerp zoals "Wat is GNU Make?", "Hoe maak ik een Make-bestand?", "Waarom gebruikt Make beter dan elk programma één voor één te compileren? " en "Hoe compileer ik programma's met behulp van GNU Make?". Al deze onderwerpen worden behandeld in de GNU Make-handleiding.
Het feit dat het eerste hoofdstuk 'The Basics Revisited' wordt genoemd in tegenstelling tot 'The Basics', laat duidelijk zien dat er van je wordt verwacht dat je een basis hebt in het onderwerp voordat je begint.
Het eerste hoofdstuk behandelt alle basics, zoals het gebruik van variabelen, omgevingen die worden gebruikt door opdrachten en de $ (Shell) -omgeving. Naarmate het hoofdstuk vordert, kom je in het onderwerp van vergelijking, lijsten en door de gebruiker gedefinieerde functies.
Als je GNU Make al een tijdje gebruikt, maar jezelf nog geen expert beschouwt, zijn er enkele leuke hints en tips die je zullen helpen om bepaalde fijne kneepjes te begrijpen die misschien niet meteen duidelijk zijn.
Het tweede hoofdstuk is een uitkomst voor degenen onder jullie die proberen fouten in build-scripts op te sporen. De sectie "Makefile Debugging" staat vol met uitstekende hints en tips voor het debuggen van Makefiles en bevat secties over het afdrukken van variabele waarden en zelfs het dumpen van de waarde van elke variabele. Verderop in het hoofdstuk is er een handleiding voor de GNU Debugger die je kunt gebruiken om door scripts te bladeren.
Het derde hoofdstuk bevat voorbeelden van makefiles, maar meer dan dat laat je zien hoe je Makefiles maakt die je steeds opnieuw kunt uitvoeren.
"Valkuilen en problemen" kijkt naar de verschillen tussen bepaalde termen zoals = en: =, en ifndef en? =.
Ik ontdekte dat ik verder door het boek ging omdat, omdat ik niet actief probeer om GNU Make te gebruiken en omdat mijn kennis op een heel basaal niveau is, een deel van het onderwerp heel erg over mijn hoofd ging.
Tegen de tijd dat ik bij het hoofdstuk "Pushing The Envelope" kwam, gleden mijn ogen een beetje over.
Mijn belangrijkste samenvatting, als ik dit boek moest samenvatten, is dat de auteur zijn spullen duidelijk kent en geprobeerd heeft zoveel mogelijk informatie door te geven.
Het probleem is dat soms wanneer een materiedeskundige iets probeert op te schrijven, dit "oh zijn gemakkelijke, alles wat je moet doen is …" een aura over hen is.
De rubberen afdichting op mijn achterdeur kwam vorige week uit en omdat het slechts een paar jaar oud is, belde ik het bedrijf dat het had gemonteerd, omdat het nog steeds onder de garantie valt.
De dame aan de telefoon zei: "Oh dat is goed, ik stuur je een nieuw zegel".
Ik zei: "Oh, moet ik het zelf passen? Is dat iets dat ik kan doen".
Het antwoord was: "Natuurlijk kunt u, u hoeft alleen maar de deur te verwijderen, het zegel te plaatsen en de deur weer op te zetten".
Nu was mijn directe gedachte "woah, een beetje terugspoelen daar. Doe de deur uit?!?". Ik ben niet gekwalificeerd om een deur te verwijderen, een zegel te plaatsen en de deur te monteren. Ik laat dat over aan de experts.
Met dit boek heb ik het gevoel dat je nog een boek en een zekere hoeveelheid ervaring nodig hebt met het schrijven van Makefiles voordat je het nuttig zou vinden.
Ik denk dat de verstrekte hints, tips en kennis sommige mensen zouden helpen zeggen: "Oh, daarom doe ik dat" of "Ik wist niet dat je het op die manier zou kunnen doen".
Mijn conclusie is daarom dat je dit boek moet kopen als je opheldering wilt of meer gemiddelde tot gevorderde kennis over GNU Make, maar het is geen boek voor beginners.