<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
 xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
>

<channel>
<title>John Graham-Cumming articles about GNU Make and Software Builds</title>
<link>http://www.stpmag.com/</link>
<description>All articles written by John Graham-Cumming about GNU Make and Software Builds</description>
<copyright>Copyright (c) 2007 John Graham-Cumming</copyright>
<pubDate>Wed,  9 Jul 2008 17:06:50 +0100</pubDate>
<lastBuildDate>Wed,  9 Jul 2008 17:06:50 +0100</lastBuildDate>

<item>
<title>July 2008: The Agile Cloud</title>
<description>Software Test and Performance article entitled &#x27;July 2008: The Agile Cloud&#x27;</description>
<guid isPermaLink="true">http://www.stpmag.com/issues/stp-2008-07.pdf</guid>
<pubDate>Tue,  1 Jul 2008 00:00:00 +0100</pubDate>
</item>

<item>
<title>May 2008: Usman&#x27;s Law</title>
<description>CM Crossroads article entitled &#x27;May 2008: Usman&#x27;s Law&#x27;</description>
<guid isPermaLink="true">https://www.cmcrossroads.com/content/view/10378/120/</guid>
<pubDate>Thu,  1 May 2008 00:00:00 +0100</pubDate>
</item>

<item>
<title>March 2008: GNU Make user-defined functions, part 2</title>
<description>CM Crossroads article entitled &#x27;March 2008: GNU Make user-defined functions, part 2&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/articles/ask-mr.-make/gnu-make-user%11defined-functions,-part-2.html</guid>
<pubDate>Sat,  1 Mar 2008 00:00:00 +0100</pubDate>
</item>

<item>
<title>February 2008: GNU Make user-defined functions, part 1</title>
<description>CM Crossroads article entitled &#x27;February 2008: GNU Make user-defined functions, part 1&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/articles/ask-mr.-make/gnu-make-user%11defined-functions,-part-1.html</guid>
<pubDate>Fri,  1 Feb 2008 00:00:00 +0100</pubDate>
</item>

<item>
<title>February 2008: Software Builds and the Virtual Time Machine</title>
<description>Dr. Dobbs article entitled &#x27;February 2008: Software Builds and the Virtual Time Machine&#x27;</description>
<guid isPermaLink="true">http://www.ddj.com/development-tools/205917147</guid>
<pubDate>Fri,  1 Feb 2008 00:00:00 +0100</pubDate>
</item>

<item>
<title>December 2007: GNU Make path handling</title>
<description>CM Crossroads article entitled &#x27;December 2007: GNU Make path handling&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/articles/ask-mr.-make/gnu-make-path-handling.html</guid>
<pubDate>Sat,  1 Dec 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>October 2007: GMSL 1.09: A look inside the tweaks and updates</title>
<description>CM Crossroads article entitled &#x27;October 2007: GMSL 1.09: A look inside the tweaks and updates&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/articles/ask-mr.-make/gmsl-1.09%3a-a-look-inside-the-tweaks-and-updates.html</guid>
<pubDate>Mon,  1 Oct 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>September 2007: Makefile Debugging: An introduction to remake</title>
<description>CM Crossroads article entitled &#x27;September 2007: Makefile Debugging: An introduction to remake&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/articles/ask-mr.-make/makefile-debugging%3a-a-introduction-to-remake.html</guid>
<pubDate>Sat,  1 Sep 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>July 2007: Making the Move from Fragile to Agile</title>
<description>Software Test and Performance article entitled &#x27;July 2007: Making the Move from Fragile to Agile&#x27;</description>
<guid isPermaLink="true">http://www.stpmag.com/issues/stp-2007-07.pdf</guid>
<pubDate>Sun,  1 Jul 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>July 2007: GNU Make escaping: a walk on the wild side</title>
<description>CM Crossroads article entitled &#x27;July 2007: GNU Make escaping: a walk on the wild side&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/8442/120/</guid>
<pubDate>Sun,  1 Jul 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>July 2007: Software Production Management comes of age</title>
<description>Embedded Software Engineering article entitled &#x27;July 2007: Software Production Management comes of age&#x27;</description>
<guid isPermaLink="true">http://www.applicationsoftwaredeveloper.com/cloud.html</guid>
<pubDate>Sun,  1 Jul 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>June 2007: Painless non-recursive Make</title>
<description>CM Crossroads article entitled &#x27;June 2007: Painless non-recursive Make&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/8133/268/</guid>
<pubDate>Fri,  1 Jun 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>May 2007: Atomic Rules in GNU Make</title>
<description>CM Crossroads article entitled &#x27;May 2007: Atomic Rules in GNU Make&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/7970/268/</guid>
<pubDate>Tue,  1 May 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>7 April 2007: Fast, Automatic Builds: the Agile Heartbeat</title>
<description>Agile Journal article entitled &#x27;7 April 2007: Fast, Automatic Builds: the Agile Heartbeat&#x27;</description>
<guid isPermaLink="true">http://www.agilejournal.com/content/view/314/</guid>
<pubDate>Sat,  7 Apr 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>April 2007: GNU Make meets file names with spaces in them</title>
<description>CM Crossroads article entitled &#x27;April 2007: GNU Make meets file names with spaces in them&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/7859/268/</guid>
<pubDate>Sun,  1 Apr 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>March 2007: Debugging Makefiles</title>
<description>Dr. Dobbs article entitled &#x27;March 2007: Debugging Makefiles&#x27;</description>
<guid isPermaLink="true">http://www.ddj.com/dept/debug/197003338</guid>
<pubDate>Thu,  1 Mar 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>February 8, 2007: The Agile Heartbeat: How Agile Development puts fast, automatic builds center stage and requires a new approach to software production</title>
<description>Electric Cloud Corporate article entitled &#x27;February 8, 2007: The Agile Heartbeat: How Agile Development puts fast, automatic builds center stage and requires a new approach to software production&#x27;</description>
<guid isPermaLink="true">http://www.electric-cloud.com/resources/library.php</guid>
<pubDate>Thu,  8 Feb 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>February 2007: GNU Make&#x27;s $(shell)/environment gotcha</title>
<description>CM Crossroads article entitled &#x27;February 2007: GNU Make&#x27;s $(shell)/environment gotcha&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/7657/268/</guid>
<pubDate>Thu,  1 Feb 2007 00:00:00 +0100</pubDate>
</item>

<item>
<title>December 2006: Makefile Optimization $(eval) and macro caching</title>
<description>CM Crossroads article entitled &#x27;December 2006: Makefile Optimization $(eval) and macro caching&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/component/option,com_smf/Itemid,180/topic,70528.msg78276</guid>
<pubDate>Fri,  1 Dec 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>November 2006: The pitfalls and benefits of GNU Make parallelization</title>
<description>CM Crossroads article entitled &#x27;November 2006: The pitfalls and benefits of GNU Make parallelization&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/component/option,com_smf/Itemid,180/topic,70108.msg76426#msg76426</guid>
<pubDate>Wed,  1 Nov 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>October 2006: Tips and tricks from the automatic dependency generation masters</title>
<description>CM Crossroads article entitled &#x27;October 2006: Tips and tricks from the automatic dependency generation masters&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/component/option,com_smf/Itemid,180/topic,69672.msg74581#msg74581</guid>
<pubDate>Sun,  1 Oct 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>September 2006: Sorting and Searching</title>
<description>CM Crossroads article entitled &#x27;September 2006: Sorting and Searching&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/component/option,com_smf/Itemid,180/topic,69268.0</guid>
<pubDate>Fri,  1 Sep 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>August 2006: Target-specific and Pattern-specific GNU Make macros</title>
<description>CM Crossroads article entitled &#x27;August 2006: Target-specific and Pattern-specific GNU Make macros&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/component/option,com_smf/Itemid,180/topic,68743.msg70946#msg70946</guid>
<pubDate>Tue,  1 Aug 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>July 2006: Making directories in GNU Make</title>
<description>CM Crossroads article entitled &#x27;July 2006: Making directories in GNU Make&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6936/120/</guid>
<pubDate>Sat,  1 Jul 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>June 2006: Rebuilding when a file&#x27;s checksum changes</title>
<description>CM Crossroads article entitled &#x27;June 2006: Rebuilding when a file&#x27;s checksum changes&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/component/option,com_smf/Itemid,76/topic,67845.0</guid>
<pubDate>Thu,  1 Jun 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>May 2006: What&#x27;s new in GNU Make 3.81</title>
<description>CM Crossroads article entitled &#x27;May 2006: What&#x27;s new in GNU Make 3.81&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6789/120/</guid>
<pubDate>Mon,  1 May 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>April 2006: Tracing rule execution in GNU Make</title>
<description>CM Crossroads article entitled &#x27;April 2006: Tracing rule execution in GNU Make&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6535/120/</guid>
<pubDate>Sat,  1 Apr 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>April 2006: Dependency Management</title>
<description>Dr. Dobbs article entitled &#x27;April 2006: Dependency Management&#x27;</description>
<guid isPermaLink="true">http://www.ddj.com/documents/s=10035/ddj0604c/0604c.html</guid>
<pubDate>Sat,  1 Apr 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>March 2006: Rebuilding when CPPFLAGS changes</title>
<description>CM Crossroads article entitled &#x27;March 2006: Rebuilding when CPPFLAGS changes&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6528/120/</guid>
<pubDate>Wed,  1 Mar 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>February 2006: Dynamic Breakpoints in the GNU Make Debugger</title>
<description>CM Crossroads article entitled &#x27;February 2006: Dynamic Breakpoints in the GNU Make Debugger&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6529/120/</guid>
<pubDate>Wed,  1 Feb 2006 00:00:00 +0100</pubDate>
</item>

<item>
<title>December 15, 2005: Automation Turns Nightly Builds Into Espresso Break Builds</title>
<description>Electronic Design article entitled &#x27;December 15, 2005: Automation Turns Nightly Builds Into Espresso Break Builds&#x27;</description>
<guid isPermaLink="true">http://www.elecdesign.com/Articles/Index.cfm?ArticleID=11791</guid>
<pubDate>Thu, 15 Dec 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>December 2005: Adding set operations to GNU Make</title>
<description>CM Crossroads article entitled &#x27;December 2005: Adding set operations to GNU Make&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6846/120/</guid>
<pubDate>Thu,  1 Dec 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>November 2005: What&#x27;s New in GMSL 1.0.2</title>
<description>CM Crossroads article entitled &#x27;November 2005: What&#x27;s New in GMSL 1.0.2&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6470/120/</guid>
<pubDate>Tue,  1 Nov 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>October 2005: An Interactive GNU Make Debugger</title>
<description>CM Crossroads article entitled &#x27;October 2005: An Interactive GNU Make Debugger&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6479/120/</guid>
<pubDate>Sat,  1 Oct 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>October 2005: Solving the Dependency Problem in Software Builds</title>
<description>Electric Cloud Corporate article entitled &#x27;October 2005: Solving the Dependency Problem in Software Builds&#x27;</description>
<guid isPermaLink="true">http://www.electric-cloud.com/library.html</guid>
<pubDate>Sat,  1 Oct 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>August 2005: Makefile Assertions</title>
<description>CM Crossroads article entitled &#x27;August 2005: Makefile Assertions&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6484/120/</guid>
<pubDate>Mon,  1 Aug 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>July 2005: The Trouble with $(wildcard)</title>
<description>CM Crossroads article entitled &#x27;July 2005: The Trouble with $(wildcard)&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6487/120/</guid>
<pubDate>Fri,  1 Jul 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>July 2005: Recursive Make Reloaded</title>
<description>Linux Magazine article entitled &#x27;July 2005: Recursive Make Reloaded&#x27;</description>
<guid isPermaLink="true">http://www.linux-mag.com/content/view/2142/2333/</guid>
<pubDate>Fri,  1 Jul 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>June 23, 2005: Book review of Managing Projects with GNU Make</title>
<description>UnixReview.com article entitled &#x27;June 23, 2005: Book review of Managing Projects with GNU Make&#x27;</description>
<guid isPermaLink="true">http://www.unixreview.com/documents/s=9811/ur0506e/ur0505e.html</guid>
<pubDate>Thu, 23 Jun 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>June 2005: GNU Make Gotcha ifndef and ?=</title>
<description>CM Crossroads article entitled &#x27;June 2005: GNU Make Gotcha ifndef and ?=&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6490/120/</guid>
<pubDate>Wed,  1 Jun 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>March 2005: The GNU Make Standard Library</title>
<description>CM Crossroads article entitled &#x27;March 2005: The GNU Make Standard Library&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6486/120/</guid>
<pubDate>Tue,  1 Mar 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>February 2005: Learning GNU Make Functions with Arithmetic</title>
<description>CM Crossroads article entitled &#x27;February 2005: Learning GNU Make Functions with Arithmetic&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6504/120/</guid>
<pubDate>Tue,  1 Feb 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>January 2005: Self-documenting Makefiles</title>
<description>CM Crossroads article entitled &#x27;January 2005: Self-documenting Makefiles&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6507/120/</guid>
<pubDate>Sat,  1 Jan 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>January 2005: Cross-Platform Builds</title>
<description>Dr. Dobbs article entitled &#x27;January 2005: Cross-Platform Builds&#x27;</description>
<guid isPermaLink="true">http://www.ddj.com/articles/2005/0501/</guid>
<pubDate>Sat,  1 Jan 2005 00:00:00 +0100</pubDate>
</item>

<item>
<title>December 2004: Learning Make with the Towers of Hanoi</title>
<description>CM Crossroads article entitled &#x27;December 2004: Learning Make with the Towers of Hanoi&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6496/120/</guid>
<pubDate>Wed,  1 Dec 2004 00:00:00 +0100</pubDate>
</item>

<item>
<title>November 2004: Makefile Optimization $(shell) and := go together</title>
<description>CM Crossroads article entitled &#x27;November 2004: Makefile Optimization $(shell) and := go together&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6480/120/</guid>
<pubDate>Mon,  1 Nov 2004 00:00:00 +0100</pubDate>
</item>

<item>
<title>October 2004: Makefile Debugging: Tracing Macro Values</title>
<description>CM Crossroads article entitled &#x27;October 2004: Makefile Debugging: Tracing Macro Values&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6475/120/</guid>
<pubDate>Fri,  1 Oct 2004 00:00:00 +0100</pubDate>
</item>

<item>
<title>September 2004: Setting a Makefile variable from outside the Makefile</title>
<description>CM Crossroads article entitled &#x27;September 2004: Setting a Makefile variable from outside the Makefile&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6517/120/</guid>
<pubDate>Wed,  1 Sep 2004 00:00:00 +0100</pubDate>
</item>

<item>
<title>August 2004: The Trouble with Hidden Targets</title>
<description>CM Crossroads article entitled &#x27;August 2004: The Trouble with Hidden Targets&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6519/120/</guid>
<pubDate>Sun,  1 Aug 2004 00:00:00 +0100</pubDate>
</item>

<item>
<title>July 2004: Dumping every Makefile variable</title>
<description>CM Crossroads article entitled &#x27;July 2004: Dumping every Makefile variable&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6521/120/</guid>
<pubDate>Thu,  1 Jul 2004 00:00:00 +0100</pubDate>
</item>

<item>
<title>June 2004: Printing the value of a Makefile variable</title>
<description>CM Crossroads article entitled &#x27;June 2004: Printing the value of a Makefile variable&#x27;</description>
<guid isPermaLink="true">http://www.cmcrossroads.com/content/view/6526/120/</guid>
<pubDate>Tue,  1 Jun 2004 00:00:00 +0100</pubDate>
</item>

</channel>
</rss>