Once, when I picked up a book from the local library, the librarian asked to tell her what I thought about the book when I would bring it back. Well, why not write a few lines about all the books I read so everybody could see what I thought about it? I'm often also happy to have friends recommend a certain book or tell me this and that is not really worth reading. I won't comment about the tons of books I have read so far, but about books I read from now on.
highly recommended | sehr empfohlen | |
good reading | gutes lesematerial | |
average | durchschnittlich | |
not too interesting | nicht allzu interessant | |
recommended not to read it | empfehlung das buch nicht zu lesen |
![]() |
|
---|---|
title | Managing Projects with GNU Make (Third Edition) |
author | Robert Mecklenburg |
ISBN-10 | 0-596-00610-1 |
ISBN-13 | 978-0-596-00610-5 |
ASIN | |
rating | |
date | 2007-Nov-11 |
Which unix administrator has not typed "./configure; make; make install" many times to magically compile source code. No need to know how to invoke the compiler, what libraries must be linked etc. It simply works, thanks to make and the makefile.
Ever wondered how to write a makefile to automate source code compilations or other tasks? I did, wanting to provide an easy way for my colleagues to update and tranlate my LaTeX documentations when they make changes to a system and to also automatically update the central documentation repository with the new version. I also want to build an easier to handle system for sorting and processing my vacation photos, etc.
In this book, Robert Mecklenburg introduces the reader in a well chosen sequence of steps to make and the art of writing makefiles. Throughout the book he uses samples, starting out simple and refining them as new concepts are explained. Some clever hacks and tricks are shown and explained as well.
Even though most samples handle compiling C or Java code, the explanations are clear enough to easily apply the techniques to other uses as well. Part one explains rules, variables, macros, functions and commands, while part two goes into advanced and specialized topics like managing large projects, writing portable makefiles, samples for handling C, C++ and Java, performance and debugging.
I did not understand everything (and don't need to), but rather than feeling intimidated by makefiles, I now believe to be able to write simple and moderately involved makefiles for the uses I had in mind.