<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Where are we going, and what's with the handbasket? : build</title><link>http://blogs.msdn.com/dcook/archive/tags/build/default.aspx</link><description>Tags: build</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Changes in Nmake 8.0</title><link>http://blogs.msdn.com/dcook/archive/2007/03/20/changes-in-nmake-8-0.aspx</link><pubDate>Wed, 21 Mar 2007 05:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1922803</guid><dc:creator>dcook</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/dcook/comments/1922803.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dcook/commentrss.aspx?PostID=1922803</wfw:commentRss><description>&lt;P&gt;I've run into this issue twice now&amp;nbsp;(in different forms) after upgrading build systems from old versions of Nmake to Nmake 8.0 (the version from Visual Studio 2005), so I think that means it's time to blog about it.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario 1:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Your stuff builds ok, but the output is totally wrong. Characters are missing from the output, and during the build, your computer keeps beeping at you.&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;Compiling .._koho.c ..\gaimem.c ..\k_area.c ..\k_clearn.c ..\k_grbg.c ..\k_hnkn.c&lt;BR&gt;..\k_moji.c ..\k_regist.c . evconv.c ..♂lbmgr.c ..nvdbg.c ..\k_frame.c&lt;BR&gt;..\k_kenti.c ..\k_disp.c ..\k_atwid.c ..\k_crsr.c ..\k_kkti.c .. ngmgr.c&lt;BR&gt;..\k_koho.c ..\k_bun mk.c ..comment.c ..utotune.c .. &lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Investigating, you find that all of the missing characters are C-style escape sequences - "\a", "\r", "\n", etc., and the escape sequences have been replaced by the corresponding control code - beep, CR, LF, etc. So why did nmake suddenly decide to start processing escape codes?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario 2:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The following is something of an idiom for makefiles. It shows the command line that is about to be executed, then executes it. (This is&amp;nbsp;a bit of&amp;nbsp;a simplification. As presented, this serves no purpose, but&amp;nbsp;the pattern&amp;nbsp;becomes useful when inline response files are involved.)&lt;/P&gt;&lt;CODE&gt;.cpp.obj:&lt;BR&gt;&amp;nbsp; @type &amp;lt;&amp;lt;&lt;BR&gt;&amp;nbsp; $(CL_COMMAND_LINE)&lt;BR&gt;&amp;lt;&amp;lt;NOKEEP&lt;BR&gt;&amp;nbsp; $(CL_COMMAND_LINE) &lt;/CODE&gt;
&lt;P&gt;After upgrading to Nmake 8.0, this starts causing an error. Type complains that it can't find the temporary inline file. Replacing "type" with "cmd /c type" fixes the problem.&lt;/P&gt;
&lt;P&gt;Both issues have essentially the same root cause. Tune in next time for the solution.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1922803" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dcook/archive/tags/ce/default.aspx">ce</category><category domain="http://blogs.msdn.com/dcook/archive/tags/nmake/default.aspx">nmake</category><category domain="http://blogs.msdn.com/dcook/archive/tags/build/default.aspx">build</category></item></channel></rss>