Saturday, 29 October 2011

[U713.Ebook] Free Ebook Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg

Free Ebook Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg

Sooner you obtain guide Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg, faster you could appreciate reading guide. It will be your turn to keep downloading and install guide Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg in provided web link. In this way, you could really making a decision that is worked in to obtain your very own e-book on-line. Right here, be the very first to obtain the e-book qualified Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg and also be the initial to recognize how the writer indicates the message and expertise for you.

Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg

Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg



Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg

Free Ebook Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg

Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg. Reading makes you a lot better. Which claims? Numerous sensible words state that by reading, your life will certainly be much better. Do you think it? Yeah, show it. If you require the book Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg to read to show the wise words, you could visit this web page completely. This is the site that will supply all guides that possibly you require. Are guide's compilations that will make you really feel interested to read? Among them below is the Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg that we will certainly propose.

If you obtain the published book Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg in on-line book store, you could also locate the very same problem. So, you should move store to establishment Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg as well as look for the available there. Yet, it will not happen below. The book Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg that we will certainly provide right here is the soft documents principle. This is what make you can effortlessly find and get this Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg by reading this site. Our company offer you Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg the best product, constantly and always.

Never ever question with our offer, since we will constantly give just what you require. As similar to this upgraded book Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg, you may not discover in the other area. Yet here, it's really simple. Simply click and also download, you could have the Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg When simplicity will relieve your life, why should take the complicated one? You can purchase the soft documents of guide Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg here and also be participant people. Besides this book Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg, you could also locate hundreds listings of guides from several resources, collections, publishers, as well as authors in all over the world.

By clicking the web link that we offer, you could take the book Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg completely. Attach to net, download, and save to your gadget. Just what else to ask? Reading can be so very easy when you have the soft file of this Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg in your gizmo. You could additionally copy the file Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg to your workplace computer system or in the house as well as in your laptop. Simply share this great news to others. Suggest them to visit this web page as well as obtain their hunted for books Managing Projects With GNU Make (Nutshell Handbooks), By Mecklenburg.

Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg

The utility simply known as make is one of the most enduring features of both Unix and other operating systems. First invented in the 1970s, make still turns up to this day as the central engine in most programming projects; it even builds the Linux kernel. In the third edition of the classic Managing Projects with GNU make, readers will learn why this utility continues to hold its top position in project build software, despite many younger competitors.The premise behind make is simple: after you change source files and want to rebuild your program or other output files, make checks timestamps to see what has changed and rebuilds just what you need, without wasting time rebuilding other files. But on top of this simple principle, make layers a rich collection of options that lets you manipulate multiple directories, build different versions of programs for different platforms, and customize your builds in other ways.This edition focuses on the GNU version of make, which has deservedly become the industry standard. GNU make contains powerful extensions that are explored in this book. It is also popular because it is free software and provides a version for almost every platform, including a version for Microsoft Windows as part of the free Cygwin project. Managing Projects with GNU make, 3rd Edition provides guidelines on meeting the needs of large, modern projects. Also added are a number of interesting advanced topics such as portability, parallelism, and use with Java.Robert Mecklenburg, author of the third edition, has used make for decades with a variety of platforms and languages. In this book he zealously lays forth how to get your builds to be as efficient as possible, reduce maintenance, avoid errors, and thoroughly understand what make is doing. Chapters on C++ and Java provide makefile entries optimized for projects in those languages. The author even includes a discussion of the makefile used to build the book.

  • Sales Rank: #531738 in Books
  • Brand: Mecklenburg, Robert E.
  • Published on: 2004-11-29
  • Released on: 2004-11-26
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.19" h x .70" w x 7.00" l, 1.10 pounds
  • Binding: Paperback
  • 302 pages
Features
  • ISBN13: 9780596006105
  • Condition: New
  • Notes: BRAND NEW FROM PUBLISHER! 100% Satisfaction Guarantee. Tracking provided on most orders. Buy with Confidence! Millions of books sold!

About the Author

Robert Mecklenburg began using Unix as a student in 1977 and has been programming professionally for 23 years. His make experience started in 1982 at NASA with Unix version 7. Robert received his Ph.D. in Computer Science from the University of Utah in 1991. Since then, he has worked in many fields ranging from mechanical CAD to bioinformatics, and he brings his extensive experience in C++, Java, and Lisp to bear on the problems of project management with make.

Most helpful customer reviews

76 of 77 people found the following review helpful.
A much needed, and enjoyable, book about GNU Make
By John Graham-Cumming
I write a lot of Makefiles. In fact, I write a lot of Makefiles using

GNU Make and finally there's a book to complement the Free Software

Foundation's excellent GNU Make user guide. Also, finally, O'Reilly

has updated what must have been the worst book in their entire line

up: "Managing Projects with make"

Robert Mecklenburg's "Managing Project with GNU Make" is a must have

book if you end up writing or maintaining GNU Make Makefiles with more

than 100 lines in them. You don't need it if all your Makefiles are

created using ./configure, but every serious Makefile hacker should

read this book.

That's not to say that the book is perfect. Far from it. I was

annoyed while reading the book by the author's frequent, annoying

small errors (e.g. on p. 58 the author states that CURDIR contains the

argument of --include-dir when in fact it contains the full path of

the directory where GNU Make is looking for Makefiles) and over use of

the $(eval) (more on $(eval) below). In fact, the number of errors in

the book were surprising for an O'Reilly tome and it looks like the

edition could use a good proof-reading. I've sent in a detailed list

to the O'Reilly folks but nothing appears on their Errata web site

yet.

The section that describes the new $(eval) and $(value) functions

available since GNU Make 3.80 is excellent (pp. 82-86). And the book

contains a good discussion of the problems inherent in using recursive

make (pp. 108-116) and how to implement a non-recursive make

(pp. 117-123). The book is worth its cover price just for these three

sections.

Where I think the book really goes off track is in trying to shoehorn

too many things into GNU Make. Specifically, the author talks quite a

bit about ANT and spends an entire chapter showing how to replace ANT

with GNU Make. I found some of the things he thinks are wrong with

ANT to be silly: for example, "The Ant task does not invoke

the underlying mkdir program for your system. Instead, it executes

the Java mkdir() method of the java.io.File class. This may or may

not be what you expect." Sure, if you are a GNU Make user you'd

expect that mkdir is mkdir the command; Java programms a probably

quite familiar with java.io.File and are likely not to be confused. I

think the book would have been better without this chapter.

The section on parallel and distributed Make is really light.

Although this section describes the issues associated with trying to

parallelize a build, it wold have been nice to have a description of

distcc.

There are only two books on GNU Make worth reading: this one and the

FSF's GNU Make manual. As I was reading Robert Mecklenburg's book I

couldn't help finding myself comparing it with the FSF manual (which

is the same as the info files installed with GNU Make).

Firstly, this isn't a good book to learn GNU Make from. Although Part

I of the book explains the basics of GNU Make with many examples, the

book does not provide a complete reference to GNU Make's language (for

example, Appendix A's list of command-line options is incomplete), and

has odd digressions (the section describing how += works (pp. 44-45)

makes it sound much more complex than it is) and ommissions (the

section on "Target- and Pattern-Specific Variables" (pp. 50-51) makes

no mention of pattern-specific variables at all).

Secondly, the author lurves the $(eval) function added in GNU Make

3.80. There are three problems with this: GNU Make 3.79.1 is commonly

seen in practice and doesn't contain $(eval), the implementation of

$(eval) in 3.80 has some bugs in it and the author uses $(eval) too

much, using it when it isn't needed. This hammer to crack a nut use

of $(eval) is annoying because it obscures simpler ways of writing

Makefiles.

If you get this book and know a thing or two about Make jump directly

to Part II and read about benchmarking of Make, the really useful

debugging ideas and recursive/non-recursive make. Skip back to Part I

when you've got some time on your hands and need to have a fun read;

you'll know most of the material but there are gems worth finding.

When you are done with that have a good laugh about the "extreme Make"

in Appendix B. Skip over the description of the Linux Kernel

Makefile: it seems like it might be interesting, but isn't.

If you can only buy one book about GNU Make, then buy the Free

Software Foundation's GNU Make user guide. You'll be supporting the

people who actually created GNU Make, and you'll get a complete

reference to it. If you've already got the FSF book, then get Robert

Mecklenburg's excellent "advanced user's guide".

43 of 45 people found the following review helpful.
Terrible
By Kindle Customer
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.

10 of 11 people found the following review helpful.
Not a good introduction
By Brussels Lout
I do not recommend this book if you are new to gmake. It breaks the unwritten golden rule that new concepts should not be introduced using more advanced concepts not introduced until later. Makes sense doesn't it? Yet this book does it all the time. I found myself many times having to skip forward to look something up, only to have to skip forward again to look something else up. And by that time I needed knowledge of all the material skipped. Chicken and egg. There's a hole in my bucket.

I found it very frustrating.

Moreover, you will need to be proficient in sed and awk to understand some important examples. You will need familiarity with lexer.

This book may serve as a look-up manual for someone already familiar with make. But if you want to learn the tool for the first time, this is not a good place to start.

See all 24 customer reviews...

Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg PDF
Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg EPub
Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg Doc
Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg iBooks
Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg rtf
Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg Mobipocket
Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg Kindle

Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg PDF

Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg PDF

Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg PDF
Managing Projects with GNU Make (Nutshell Handbooks), by Mecklenburg PDF

No comments:

Post a Comment