<story><title>Why Use Make</title><url>http://bost.ocks.org/mike/make/</url></story><parent_chain><item><author>falcolas</author><text>Lots of &quot;Don&apos;t do this&quot; without suggesting alternatives doesn&apos;t do anyone much good.&lt;p&gt;If you&apos;re on a *nix system, building C/C++ programs (or automating one-off builds like the example), what would you recommend in make&apos;s place?</text></item><item><author>mseebach</author><text>Absolutely do not use make for any new project. If you love make, it&apos;s a big, red, burning flag that you&apos;re not demanding enough of your tools and that you&apos;re not keeping up with changes in your ecosystem.&lt;p&gt;There are many, many way better alternatives to make. Which one is better depends on the platform you&apos;re on. The majority of them throws in automatic dependency management for free.&lt;p&gt;Yes, I know that the essence of the post is &quot;use a build system&quot;. I agree completely. In fact, script &lt;i&gt;everything&lt;/i&gt;. Then script your scripts. Then refactor your scripts because they are getting messy. But don&apos;t give impressionable souls the idea that &quot;make&quot; is anywhere near an acceptable (generalised, default) choice today.</text></item></parent_chain><comment><author>rachelbythebay</author><text>Assuming you&apos;re building your own code and are willing to arrange things in a compatible manner, then I have a solution to offer.  It figures out the dependencies by &lt;i&gt;reading the source code&lt;/i&gt;.  You can create objects and binaries just by asking it to build a certain target.&lt;p&gt;I recorded an example of installing and using it here:&lt;p&gt;&lt;a href=&quot;http://rachelbythebay.com/jvt/view?bb_install&quot; rel=&quot;nofollow&quot;&gt;http://rachelbythebay.com/jvt/view?bb_install&lt;/a&gt;&lt;p&gt;You can get a copy for experimentation here:&lt;p&gt;&lt;a href=&quot;http://rachelbythebay.com/bb/&quot; rel=&quot;nofollow&quot;&gt;http://rachelbythebay.com/bb/&lt;/a&gt;&lt;p&gt;It isn&apos;t for everyone, but only you can know if it&apos;ll meet your needs.  Hopefully this helps.</text></comment>
<story><title>Why Use Make</title><url>http://bost.ocks.org/mike/make/</url></story><parent_chain><item><author>falcolas</author><text>Lots of &quot;Don&apos;t do this&quot; without suggesting alternatives doesn&apos;t do anyone much good.&lt;p&gt;If you&apos;re on a *nix system, building C/C++ programs (or automating one-off builds like the example), what would you recommend in make&apos;s place?</text></item><item><author>mseebach</author><text>Absolutely do not use make for any new project. If you love make, it&apos;s a big, red, burning flag that you&apos;re not demanding enough of your tools and that you&apos;re not keeping up with changes in your ecosystem.&lt;p&gt;There are many, many way better alternatives to make. Which one is better depends on the platform you&apos;re on. The majority of them throws in automatic dependency management for free.&lt;p&gt;Yes, I know that the essence of the post is &quot;use a build system&quot;. I agree completely. In fact, script &lt;i&gt;everything&lt;/i&gt;. Then script your scripts. Then refactor your scripts because they are getting messy. But don&apos;t give impressionable souls the idea that &quot;make&quot; is anywhere near an acceptable (generalised, default) choice today.</text></item></parent_chain><comment><author>Peaker</author><text>I&apos;d suggest tup[1] and Shake[2].&lt;p&gt;[1]: &lt;a href=&quot;http://gittup.org/tup/&quot; rel=&quot;nofollow&quot;&gt;http://gittup.org/tup/&lt;/a&gt;
[2]: &lt;a href=&quot;http://community.haskell.org/~ndm/shake/&quot; rel=&quot;nofollow&quot;&gt;http://community.haskell.org/~ndm/shake/&lt;/a&gt;</text></comment>