Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Software Build Systems: Principles and Experience 1st Edition

4.0 out of 5 stars 6 customer reviews
ISBN-13: 078-5342717280
ISBN-10: 0321717287
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$49.22 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$54.98 On clicking this link, a new layer will be open
More Buying Choices
6 New from $54.98 14 Used from $45.27
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Windows 10 For Dummies Video Training
Get up to speed with Windows 10 with this video training course from For Dummies. Learn more.
$54.98 FREE Shipping. Temporarily out of stock. Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item. Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Editorial Reviews


“This book represents a thorough and extensive treatment of the software build process including the choices, benefits, and challenges of a well designed build process. I recommend it not only to all software build engineers but to all software developers since a well designed build process is key to an effective software development process.”

Kevin Bodie, Director Software Development, Pitney Bowes Inc.


“An excellent and detailed explanation of build systems, an important but often overlooked part of software development projects. The discussion of productivity as related to build systems is, alone, well worth the time spent reading this book.”

John M. Pantone, Objectech Corporation, VP, IT Educator and Course Developer


“Peter Smith provides an interesting and accessible look into the world of software build systems, distilling years of experience and covering virtually every type of tool in the build engineer’s toolbox. Well organized, well written, and very thorough; I would recommend this book to anyone with a build system under their responsibility.”

Jeff Overbey, Project Co-Lead, Photran


Software Build Systems teaches how to think about building software. It surveys the tools and techniques for building software products and the ways things go wrong. This book will appeal to those new to build systems as well as experienced build system engineers.”

Monte Davidoff, Software Development Consultant, Alluvial Software, Inc.

About the Author

Peter Smith is principal of Arapiki Solutions, Inc., a consulting company that provides technical leadership for introducing new tools and methodologies for improving software development productivity. Smith specializes in the planning and deployment of software development infrastructures together with best practices for utilizing them.


The latest book club pick from Oprah
"The Underground Railroad" by Colson Whitehead is a magnificent novel chronicling a young slave's adventures as she makes a desperate bid for freedom in the antebellum South. See more

Product Details

  • Hardcover: 624 pages
  • Publisher: Addison-Wesley Professional; 1 edition (March 21, 2011)
  • Language: English
  • ISBN-10: 0321717287
  • ISBN-13: 978-0321717283
  • Product Dimensions: 7.3 x 1.4 x 9.9 inches
  • Shipping Weight: 2.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon Best Sellers Rank: #1,667,720 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By B. C Ladd on May 31, 2011
Format: Hardcover Verified Purchase
Advertising "Principles and Experience" with software build tools, the
author demonstrates a surprisingly sophomoric depth of
understanding. Most of the book is presented at a very high level with
limited practical presentation.

Chapter 08 discusses the SCons tool with a section on debugging bad
builds. The --debug=presub command-line switch is introduced and
output presented. A particular environment variable is mentioned and
then some portion of the list of all environment variable definitions
in SCons is printed. The actual environment variable presented is
never found in the list, the result is never plugged into the template
command-line, and the "problem" is never debugged. The level of
understanding seems very much that of someone who has run the on-line

The feeling of reiterated tutorial continues in Chapter 10 on
Eclipse. I can figure out the panes of the workspace or else I can
fire up the Guided Tour that ships with the product. There is no need
to spend several pages on helping me figure out where source code is

Chapter 06 focuses on GNU Make. The idea of a .flags file is mentioned
as a way to capture dependencies on command-line flags. Where is an
example? Is it better practice to have a .flags file per directory or
per source file? How do .flag files interact with the number of file
reads done by a build system (the topic of Chapter 19 when talking
about speeding up a build)?

There are a handful of editing errors and another, more annoying,
handful of technical errors. There is a discussion of running gdb
(why, in a book on building, do I get a tutorial on gdb?
Read more ›
2 Comments 15 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
A Gap-Filling Book for Software Developers Too

Build system are often viewed as merely a script to compile the code. However there are much more to it. Read this book you'll find out. As an editorial review says, this book is also for developers in addition to build engineers.

As the book starts with, a survey showed that it is common developers losing 20~30% productivity due to build related problems. My personal estimate, at one of my previous work we spent more than 30% of time dealing with build breakages. Sometimes the problems are caused by the build system itself, some other times they are due to misuse of the system. It's worth for developers to learn the build system thus to avoid messing up with the build system.

For large software it is very difficult to figure out the dependencies among the components. To my view, if it is a C program, the only place the complete dependency information can be found is in the build system. Figuring out dependencies helps developers to better design/code/debug their software. To do so you'll have to know about the build system, or you may even need to fix the build system so you can get the information dumped for you.

I use code generation in my coding practice so that I can manage more logic in code and avoid tedious repetitive work [see Martin Fowler's DSL book Domain-Specific Languages (Addison-Wesley Signature Series (Fowler)) for more on this topic]. I also generate tests from the source code. To generate code the triggers have to be incorporated into the build system. Had I read this book I would have done my work more effectively.
Read more ›
Comment 4 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
This book is a decent introduction to the world of build systems. Overall I expected more depth from it, and felt I barely got my money's worth, but it could be perfect for someone with less experience with complex build systems who wants to learn more about the field or got tasked with choosing and implementing a build system for a project.

It starts with a high-level discussion of concepts that are common across build systems. Then it goes into an overview of five common build systems - make, scons, cmake, Ant and the GUI-based Eclipse. Generally I felt this is the weakest part of the book as it does not go into depth with any of those tools, but it is useful if one wants to compare how several systems handle a common, simple scenario, and the praise/criticism/evaluation section towards the end of each tool's description is a nice summary. For a detailed manual of one of the covered build tools, tool documentation and other in-depth books on separate tools are a far better choice.

Part III, "Advanced topics", is a misnomer - it should be called "Beyond the basics". Once again the discussion becomes more abstract and covers dependencies and related issues, "metadata" (any products that are not the final executables - documentation, tests, etc.), managing tools, and towards the end two topics that are the most important - how to improve build speed and manage build size. I would not call any topic discussed to actually be "advanced" - that would be, for example, an in-depth analysis of an existing complex make-based build framework, or a careful dissection, with reasoning and trade-offs, of a big build system of an existing open source project, none of which are to be seen in this book.
Read more ›
1 Comment 2 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse