Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.mel.connect.com.au!news.mel.aone.net.au!grumpy.fl.net.au!news.webspan.net!www.nntp.primenet.com!nntp.primenet.com!feed1.news.erols.com!howland.erols.net!nntp.crl.com!ecf2.puc.edu!news5.crl.com!nexp.crl.com!usenet From: "Jordan K. Hubbard" <jkh@FreeBSD.org> Newsgroups: comp.os.linux.misc,comp.unix.bsd.bsdi.misc,comp.unix.bsd.misc Subject: Re: Linux vs BSD Date: Tue, 28 Jan 1997 12:27:19 -0800 Organization: Walnut Creek CDROM Lines: 54 Message-ID: <32EE6127.41C67EA6@FreeBSD.org> References: <32DFFEAB.7704@usa.net> <5c39sk$ddl@troma.rv.tis.com> <5c8jlm$50u@cynic.portal.ca> <5c9444$9vq@lace.colorado.edu> <5c98sl$gbn@cynic.portal.ca> <5ckluo$mbl@josie.abo.fi> NNTP-Posting-Host: time.cdrom.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.01 (X11; I; FreeBSD 3.0-CURRENT i386) To: mandtbac@abo.fi Xref: euryale.cc.adfa.oz.au comp.os.linux.misc:154803 comp.unix.bsd.bsdi.misc:5771 comp.unix.bsd.misc:2081 Mats Andtbacka wrote: > yes, that's basically the arrangement. whether or not this is a good > thing depends, i suspect, on taste: i would claim that the *BSD > concept of one "make" in one tree does everything, while certainly > convenient, is more suitable to people somewhat afraid of their > compiler. less, after all, to compile, or so it appears to the person > just typing one "make". Ooh, that was just too simplistic an assumption to let pass by. There's a lot more to the BSD build system than meets the eye, and it's not just a question of how the source tree is physically arranged. You could make it flat or you could make it 57 layers deep and it wouldn't have anything to do with what I'm talking about when I say "build system." BSD make, at the expense of a few blatant assumptions about where its macro files live (/usr/share/mk), does a lot to provide consistent build framework for the sources under its care - if you want to compile the entire system at optimization level of 03, or without debugging information, or with every tool which was formerly linked shared now static (just to name a very small number of possibilities), it's a trivial command line option. You don't have to edit any files and you don't have to keep track of any special configuration details for individual tools. It's very simple to drive and I can reserve precious cerebral storage space for memorizing other more important things, it has nothing to do with fear of the compiler. :-) BSD Makefiles tend to be extremely concise as a result of this and very easy to read. I've done some positively facinating stuff with GNU make, and I'd never say it wasn't a powerful alternative, but "concise" is never a word I've applied to the GNU makefile for any tool integrated with a large system (it's easy to make small gmake files, yes, but I'm talking about what happens once you add all the "knobs and levers"). I was very pleasantly surprised when I first encountered the BSD make system and saw how configurable it was without the usual accompanying hair. > granted, the *BSD object directory system is worth drooling over, i'd > love to see that in many Linux sources - not least the kernel. but i'd I'd also like to say that the FreeBSD tree will build just fine from a read-only /usr/src (without an inode-eating link tree) as another benefit of our build system, but a couple of ill-behaved tools still attempt to write stuff in the wrong place. It would be fairly easy to fix if anyone cared that deeply. :-) Also, pieces of the system can be elided from the build by turning various flags on or off; it's not quite so boolean as you were afraid of. -- - Jordan Hubbard President, FreeBSD Project