Date: Thu, 3 May 2001 17:27:15 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: atrens@nortelnetworks.com (Andrew Atrens) Cc: chat@FreeBSD.ORG Subject: Re: -- recursive make considered harmful ?? Message-ID: <200105031727.KAA20516@usr02.primenet.com> In-Reply-To: <Pine.BSF.4.32.0105022151001.82576-100000@hcarp00g.ca.nortel.com> from "Andrew Atrens" at May 02, 2001 09:58:22 PM
next in thread | previous in thread | raw e-mail | index | archive | help
> Any considered opinions on this ? > > http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html > > I've set up a freebsd-style make system for our project which is blazingly > fast on freebsd (and solaris), but sucks lemons on NT (mostly because of > Cygwin fork+exec). > > Anyhow I've taken a lot of heat as a result of this paper, from people who > are more talk and less action than myself. I think all of the issues pointed out in the paper can be addressed with a top level include file that sets the tone for the build process. Personally, I have dealt with ordering dependencies by making my build process multipass. This lets me move things between passes without a lot of effort. If you have less of a hard correspondance between your build tree and your source repository (e.g. everything you use is stored in seperate modules, and checked out during the build process, if it's not already there), then you can do the same thing logically without additional Makefile magic by setting up top level ordered pass directories. This might be directories such as "pass1", "pass2", etc., into which you check out modules as subdirectories. My own project's build process is 6 passes, and involves arouns 3.8 million lines of code, so far, for the project components, a lot of which are open source and are built into target directories with "configure" being run, etc., and if I change one file anywhere, it just Does The Right Thing, including using gmake for some of the components (it gets built in pass2). The code compiles and runs on FreeBSD, Solaris, HP/UX, and Linux, and I have good reason to expect it to work in AIX, as well. I think that if you take the paper too seriously, or the complaints of people without a decent "make" program too seriously, that you are going to be doomed to mediocrity; a prohibition against tricky things is a prohibition against clever and innovative soloutions. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105031727.KAA20516>