Managing Projects with GNU Make: The Power of GNU Make for Building Anything
E**E
A Deep-Dive for the Depth-Inclined
I've met a number of respectable developers who tell me that, "The Singularity won't leverage a Makefile." But those developers also sport chevron mustaches and drink pumpkin frappes all while deploying React monstrosities that help Millennials hire surrogate moms who are paid Dogecoin to search overpriced lofts for missing aqua socks.I think, in reality, and in sum, this book is not a necessary addition to any respectable developer's bookshelf, especially since the majority of Makefiles never broach this level of complexity. But I do really love books like this, possibly for perverse reasons -- books that push a particular technology right to the cusp of its abusive breaking point. You learn something intangible when you see how far you can flex a language, much the same way as you learn something when you attach a racing spoiler to the back of your Honda Civic. It's not the vehicle but the driver who's transformed. It's not the point but the purview that we're after. Or, as my toddler daughter sometimes so elegantly espouses: you are what you Make of.
F**Z
An embedded developer point of view
I use GNU make in all my embedded firmware projects, under Linux, DOS and Windows.This is a good book if you already know a basic use of "make". If you are completely new to make you should first search on-line documentation, I suppose.I was a recursive-make fan before, but now I find that the non-recursive approach suggested here is really interesting. Probably the best is a mixed-architecture.I don't like the implicit rules usage promoted: I prefer to define all the compiling options explicitly.Make is a strange, very powerful non-procedural language for projects managing, and this book tries to explain its obscure characteristics.If you plan to use the examples as a base for your own makefiles, take a look at the erratas on the O'Reilly website (there are some typos in the less common used procedures, personally I've found a lot in the make-depend parts).
J**J
Worthy purchase, print and digital
Learn make for real. Well structured and gentle, taking you from make begginer to journeyman. Totally worth it. If you learn this first, the other varieties of make will be fairly easy to adapt to.
J**T
What a mess
So if you already know how to use make (which means you probably don’t need this book) than this book is for you.I’m honestly trying to come up with words to describe just how convoluted of a mess this book is. There’s no gradual build up of information, each topic adding on to the previous, it’s sporadic and chaotic. It jumps around making a ton of assumptions about the readers knowledge.Would absolutely not recommend this book to anyone trying to get a better grasp on make. If anything this book has confused me more, and sent me down a rabbit hole of understanding lexical analysis, just so I can get through the first example.
S**E
This book was a lifesaver
I'm taking an operating systems class. As part of that class, we had to modify an existing operating system. To do that required modifying the makefile system to add our modules. I tried understanding make from the man pages and tutorials on the web. They are either a reference or cover too small a subset of tasks. This book covers the topic thoroughly but in an instructional manner which is easy to learn from. My only complaint is that sometimes there is functionality talked about without accompanying examples. That makes it hard to understand how things work together.
K**K
Terrible
I have almost no experience with writing makefiles. All I've done is edit existing makefiles until they work without really knowing what I am doing. I bought this book to fill in my knowledge. There seems to be a lot of information in this book. Unfortunately, there is a lot of information not in the book that makes it difficult to follow his examples. For example, on p. 5 there is text in there that makes up the file 'lexer.l', but the author doesn't say this. He simply puts that text on the page, calls it a 'scanner', then I see something called 'lexer.l' in the makefile he is using. It took me a while to figure out that the 10 or so lines of text he called a 'scanner' was in fact 'lexer.l'.The author continually does this for at least the first 20 pages, where it took me hours to figure out what files he used and what were supposed to be in the files. This should have only taken me as long as it takes to type the files into the computer. There are supposed to be five files: counter.h lexer.h count_words.c counter.c and lexer.l. I don't understand why the auther cannot simply say "the text below define *.*", then write it out, instead of making the reader guess at what he is talking about. On page 20 he talks about refactoring the 'main' program, but what he really means is creating a new file called 'counter.c' not rewriting the 'main' program in 'count_words.c'.It's too bad the author has decided to write in such an ambiguous style because his explainations of make features are very good, unfortunately, I can't verify this using his examples because he thinks his readers can read his mind.The frustration caused by this lack of explicitness for his examples is the reason I give this book one star. Instead of simply using his examples, I have to figure out what the heck he is talking about, then try to use them the way he is. I'm spending orders of magnitudes more on this guessing than I am on learning make, which is why this book sucks. I'm only on page 20 and all ready I don't really want to use this book. I guess if you all ready know how to use make and just want a reference, this book is probably fine as you have plenty of your own examples to follow. But I do not.
R**H
Nice full fledged Make resource
Yes the book contains most probably more than what you need. Still I find it useful to properly learn the tool.
M**C
Good book. The information is there. The examples are not as clear as I would like.
All the information you need is there. However, I think the examples are little lacking. If you already know make, this book will help you become an expert. If you are a beginner, it will be a bit dense. No matter what I think, though, there isn't a better book on make.
A**R
Not sure if 2 stars is for me or the book
It could just be me. I'm on page 90, having hacked my way through some seriously dense bash scripting/make/java compilation combinations, and I still don't know how to set up a basic Makefile for a relatively simple C++ project with different directories for source, header, and object files.Maybe it isn't simple. Maybe I've picked the wrong tool with make, and am taking it out on the book.But I can't believe that I need to read about all the arcane rules behind the 2-stage variable & macro expansion, and all the ugly control structures that make-as-a-sub-par-programming-language-rather-than-build-tool possesses, before I see a make file that compiles an average C++ project.If I do, then I offer my apologies to the author, for I have indeed picked the wrong tool, but as it stands, it feels like the author's enthusiasm to communicate the obscure minutae of make has completely obfuscated how one might practically use it. You get the impression that he prefers coding in make to coding in whatever real language a project is supposed to be built with.Man, I wish the Pragmatic Programmers had written a make book!
M**E
Good book. All hidden details revealed.
Tells you what you need to know. Well explained. Easy to use as ref.
A**W
Four Stars
Provides practical information on putting more complex make files together that complements the GNU make documentation.
P**E
A great introduction to make
I found the complexity level of this book just right for me; I've been toying with simple Makefiles for years and couldn't figure out some inconsistencies. The author explains pitfalls and common mistakes, the Makefile parsing process and the subtleties of variable assignment, which I found very valuable. I now feel ready to plunge in sterile reference manuals. Though it doesn't address autoconf which is possibly the most popular user of make, the book packs enough examples and thorough explanations to be worth its weight.
S**Y
Verständliche Einführung mit vielen praktischen Beispielen
Gut geeignet auch für den Anfänger in Make und anderen GNU-Programmier-Tools. Nachdem ich mit den Man-Pages nicht zurechtgekommen bin, war dies endlich ein erfolgreicher Einstieg in die Thematik.Das Buch ist verständlich geschrieben und enthält viele Beispiele welche detailliert erklährt werden.
Trustpilot
Hace 2 semanas
Hace 3 semanas