"Covers GNU Make basics through advanced topics, including: user-defined functions, macros, and path handling; creating makefile assertions and debugging makefiles; parallelization; automatic dependency generation, rebuilding targets, and non-recursive Make; and using the GNU Make Standard Library"--
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.
The GNU Autotools make it easy for developers to create software that is portable across many Unix-like operating systems. Although the Autotools are used by thousands of open source software packages, they have a notoriously steep learning curve. And good luck to the beginner who wants to find anything beyond a basic reference work online. Autotools is the first book to offer programmers a tutorial-based guide to the GNU build system. Author John Calcote begins with an overview of high-level concepts and a quick hands-on tour of the philosophy and design of the Autotools. He then tackles more advanced details, like using the M4 macro processor with Autoconf, extending the framework provided by Automake, and building Java and C# sources. He concludes the book with detailed solutions to the most frequent problems encountered by first-time Autotools users. You'll learn how to: –Master the Autotools build system to maximize your software's portability –Generate Autoconf configuration scripts to simplify the compilation process –Produce portable makefiles with Automake –Build cross-platform software libraries with Libtool –Write your own Autoconf macros Autotools focuses on two projects: Jupiter, a simple "Hello, world!" program, and FLAIM, an existing, complex open source effort containing four separate but interdependent subprojects. Follow along as the author takes Jupiter's build system from a basic makefile to a full-fledged Autotools project, and then as he converts the FLAIM projects from complex hand-coded makefiles to the powerful and flexible GNU build system.
Here is a complete package for programmers who are new to UNIX or who would like to make better use of the system. The book provides an introduction to all the tools needed for a C programmer. The CD contains sources and binaries for the most popular GNU tools, including their C/C++ compiler.
Gnu and Shrew match wits while trying to reach a cave filled with diamonds in this STEM-filled twist on "The Ant and the Grasshopper." When Gnu says that there's a cave filled with diamonds across the river, Shrew is intrigued. But Gnu seems to be all talk, fantasizing about riches yet dismissing all of Shrew’s suggestions. As Gnu dreams his days away, tossing out one big idea after another, Shrew spends his nights trying to make those dreams a reality. Will Gnu’s big ideas ever be able to mesh with Shrew's hard work to make something remarkable happen? Author Danny Schnitzlein uses deadpan storytelling to put an entertaining spin on "The Ant and the Grasshopper" that values the roles of both dreamers and doers. Anca Sandu's illustrations, rendered in pencil and colored digitally, add to the humor and whimsy. "A refreshing demonstration of different approaches and a friendship that transcends those contrasts." —Booklist Best STEM Books —ASEE / ITEEA / NSTA / SEPA / CBC Also by Danny Schnitzlein: The Monster Who Ate My Peas The Monster Who Did My Math Trick or Treat on Monster Street
Drawing. Reading. Building. Painting. These are things Nelly loves to do…but they’re always better with Daddy Gnu! With fun-to-read rhyme, a little silliness, and a lot of warmth, Anna Dewdney—the creator of the beloved llama llama books—tells the story of a daughter and her daddy and their wonderful day together.
If you are a developer and are looking to participate in the Open Source development growth area you will need to learn new Open Source tools. GNU autoconf, GNU automake and GNU libtool are key tools for Open Source application development. These tools are not easy to learn, so some of the leading authorities on these tools have agreed to work together on this book to teach developers how to boost their productivity and the portability of their application. This book place New Riders/MTP at the center of the Open Source development community. Autoconf, Automake and Libtool is an efficient discourse on the use of autoconf, automake and libtool aimed at reducing the steep learning curve normally associated with these tools. This is a study guide to the interactions between the tools, and how best to get them to cooperate. If you are a developer and have no GNU build environment expertise, this book will help you develop these tools completely and confidently.
"This book introduces Emacs Lisp and tells you how to make the editor do whatever you want, whether it's altering the way text scrolls or inventing a whole new "major mode." Topics progress from simple to complex, from lists, symbols, and keyboard commands to syntax tables, macro templates, and error recovery"--Resource description page.