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

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

<channel>
<title>John Graham-Cumming articles from CM Crossroads</title>
<link>http://www.cmcrossroads.com/</link>
<description>All articles written by John Graham-Cumming from CM Crossroads</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>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>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: 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>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>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>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>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 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>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>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>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>