version control

Articles

Make Clean: Usman's Law

Usman's Law (named after a smart coworker of mine who spent months working with customer Makefiles). make clean is intended to take you back to a state where everything will be rebuilt from scratch.   Often times it doesn't. Here's why.

John Graham-Cumming's picture John Graham-Cumming
GNU Make User-Defined Functions

Creating GNU Make built-in functions is easy, but it does create a maintenance problem: the next time GNU Make is updated we'll need to port our changes to the new version.

John Graham-Cumming's picture John Graham-Cumming
The Pitfalls and Benefits of GNU Make Parallelization

Many build processes run for hours with build managers commonly typing 'make' and going home for the night. GNU Make's solution to this problem is parallel execution, which is a simple command-line option that causes GNU Make to run jobs in parallel using the dependency in the Makefile to run in the correct order.

John Graham-Cumming's picture John Graham-Cumming
The Basics of GNU Make

GNU Make user-defined functions can do a lot. Ask Mr. Make takes you on a quick your of the basics.

John Graham-Cumming's picture John Graham-Cumming
GNU Make path handling

Ask Mr. Make discusses how GNU Make handles paths.

John Graham-Cumming's picture John Graham-Cumming
GMSL 1.09: A look inside the tweaks and updates

I've written in the past about the GNU Make Standard Library open source project. This article outlines the changes made between v1.0.2 and the current release (v1.0.9) and discusses some of the techniques used to implement the GMSL.

John Graham-Cumming's picture John Graham-Cumming
Makefile Debugging: A introduction to remake

remake forked from GNU Make 3.80 and is currently at version 0.62.   This version incorporates some, but not all, of the changes made in GNU Make 3.81. 

John Graham-Cumming's picture John Graham-Cumming
Lean Development Principles for Branching and Merging

By reworking lean principles for the branching and merging arena, we're able to create automated builds and unit tests to increase effectiveness and improve quality in software configuration management. Individual developers and teams alike can benefit from this process-improving strategy.

GNU Make Escaping: A Walk on the Wild Side

Sometimes you find yourself needing to insert a special character in a Makefile: perhaps you need a newline inside a $(error) message, or a space character in a $(subst) or a comma as the argument to a GNU Make function.  Those three simple things can be frustratingly hard in GNU Make; this article takes you through simple GNU Make syntax that removes the frustration.

John Graham-Cumming's picture John Graham-Cumming
Painless non-recursive Make

In this article, Mr. Make outlines a pattern for non-recursive Make systems that supports the familiar make-anywhere style common to recursive Make systems.  Typing make in a directory will build everything in that directory and below.

John Graham-Cumming's picture John Graham-Cumming

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.