Recursive Make Considered Harmful

Bengt Kleberg bengt.kleberg@REDACTED
Mon Dec 14 12:28:47 CET 2009


The proposed solution, which you aptly name "horribly inelegant", always
suggests to me that make should be replaced. At least for new things.


bengt

 On Mon, 2009-12-14 at 10:47 +0000, Michael Turner wrote:
> http://miller.emu.id.au/pmiller/books/rmch/
> 
> Thanks for this.  I wasn't on the list when you first mentioned this
> paper. I vaguely remembered just such a paper while trying to build an
> Erlang release a few months ago.  It struck me as a breath of fresh air
> when I first read it over a decade ago.
> 
> It's not so much that "make" is lacking, I think.  Mainly it's that
> the obvious approach (recursion) for building stuff out of a
> hierarchical directory structure is not necessarily the best way if
> you're using make.
> 
> Having one big makefile seems, of course, horribly inelegant.  But when
> I've tried that approach, it always reminds me of things I'd forgotten
> while using big, lumbering, recursive build systems.  Like, make is
> really fast.  Compilers are pretty fast, too.  And having everything in
> one place can be nice.
> 
> -michael turner
> 
> On 12/14/2009, "Bengt Kleberg" <bengt.kleberg@REDACTED> wrote:
> 
> >Greetings,
> >
> >It has been well over a year since last time I mentioned this paper
> >"Recursive Make Considered Harmful",
> >(http://miller.emu.id.au/pmiller/books/rmch/). so I hope it is ok that I
> >do it again.
> >
> >Nice little reading for those that find themselves wondering if they are
> >the only ones that think make is somewhat lacking, at times.
> >
> >
> >bengt
> >
> >On Mon, 2009-12-14 at 13:02 +0300, Sergei Golovan wrote:
> >> Hi!
> >>
> >> I did some further investigations and found that simply calling make
> >> in all doc/src
> >> directories works better then trying to run make recursively.
> >>
> >> pwd=`pwd`
> >> for i in `find . -wholename '*/doc/src'` ; do
> >>     (cd $i ; make man ERL_TOP=$pwd )
> >> done
> >>
> >> (using Erlang R12B-02-1 edoc and docbuilder, and the attached docb_gen script)
> >> generates manpages perfectly, make html and make pdf though suffer from runtime
> >> errors while running xsltproc.
> >>
> >> Running make recursively reveals a whole bunch of problems with
> >> missing and redefined
> >> 'docs' targets in makefiles.
> >>
> >> On Mon, Dec 14, 2009 at 12:16 PM,  <lars@REDACTED> wrote:
> >> > Hi Sergei,
> >> > we started to build our documentation with open source tools in R13B03 so it
> >> > would be possible to build the doc from the delivered sources.
> >> >
> >> > But it's still only built in house because we hadn't time to test it but the plan is
> >> > to have it work for everyone in R13B04.
> >> >
> >> > Thanks for your report, we'll have a look at those fault.
> >> >
> >> > Regards Lars
> >> >
> >> >
> >> > Sergei Golovan wrote:
> >> >> Hi!
> >> >>
> >> >> I'm trying to build Erlang documentation from the sources (the goal is
> >> >> to switch from prebuilt docs for Debian Erlang packages as building
> >> >> them from the source is preferable).
> >> >>
> >> >> To do that I run
> >> >> make
> >> >> make TYPE=docs
> >> >> (in fact, make libs doesn't recognize TYPE, so I had to replace "make
> >> >> opt" by "make $(TYPE) in the top-level Makefile).
> >> >>
> >> >> and I've found several problems which make build fail:
> >> >>
> >> >> 1) For some XML files (e.g. erts/docs/src/book.xml) xsltproc reports
> >> >> runtime errors about undefined variables (partnum in line 871 and 963
> >> >> of db_pdf.xsl, in lines 1075 and 1173 of db_html.xsl). Is this a bug
> >> >> in the stylesheets or in xsltproc? (Both 1.1.24 from Debian stable and
> >> >> 1.1.26 from Debian unstable failed.)
> >> >>
> >> >> 2) wx application has duplicated targets html and docs in its makefile.
> >> >>
> >> >> 3) wx application (and others too) require docb_gen script to generate
> >> >> XML docs sources. It is missing. (I suppose that it is a simple
> >> >> wrapper around docb_gen Erlang module and could be recreated, but It'd
> >> >> be better if it were shipped in Erlang sources.)
> >> >>
> >> >> Is Erlang documentation supposed to be buildable from the source, or
> >> >> it still requires some unavailable tools?
> >> >>
> >> >> Cheers!
> >> >
> >> >
> >>
> >>
> >>
> >> ________________________________________________________________
> >> erlang-bugs mailing list. See http://www.erlang.org/faq.html
> >> erlang-bugs (at) erlang.org
> >
> >
> >________________________________________________________________
> >erlang-bugs mailing list. See http://www.erlang.org/faq.html
> >erlang-bugs (at) erlang.org
> >
> >



More information about the erlang-bugs mailing list