Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Dec 1998 20:33:57 -0800
From:      "Jordan K. Hubbard" <jkh@zippy.cdrom.com>
To:        Mike Smith <mike@smith.net.au>
Cc:        Greg Lehey <grog@lemis.com>, Warner Losh <imp@village.org>, Steve Kargl <sgk@troutmask.apl.washington.edu>, "Robert V. Baron" <rvb@cs.cmu.edu>, wollman@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: Requiring make depend (was: cvs commit: src/sys/sys bus.h bus_private.h conf.h devicestat.h module.h src/sys/kern bus_if.m device_if.m kern_con) 
Message-ID:  <3033.912832437@zippy.cdrom.com>
In-Reply-To: Your message of "Fri, 04 Dec 1998 18:09:15 PST." <199812050209.SAA01724@dingo.cdrom.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> 'make depend' should be *mandatory*, as the alternative involves 
> duplicating dependancy information in the source and in the 
> configuration infrastructure.

I think this is an idealist's viewpoint, and while understandable from
a technical standpoint (let an external tool calculate your deps
rather than keeping sources and Makefiles in sync by hand), still has
a lot of precedent weighing against it as a "mandatory" option.  I've
watched the Unix world go from no depend files at all to custom tools
for generating and using them (usually in order to shave some time off
a particular development project rather than being standard practice)
to having those functions folded directly into make/gcc.  People who
started this biz at various points along the timeline have differing
assumptions as to whether the .depend file is a frill or a mandatory
part of the build process and I don't think it's a good idea to draw
one's battle lines in the swamps.  Just judging from past response on
the previous occasions where depend became mandatory purely by
mistake, making it mandatory would be a very low bang-for-buck
exercise - you might just as well suggest that we all go to
auto-prototyping tools and stop declaring them in explicitly in our
headers. ;-)

Were I to find myself feeling exceedingly bored one day, bored enough
to take on a controversial topic for no particularly good reason, I'd
probably hack make(1) to have an implicit dependency on ${.OBJDIR}/.depend
and simply invoke it automagically whenever the Makefile or any of the
"leaf dependencies" of the target being run were newer than it.
You'd want to do it in make so that it could also reload its state
before executing the target, e.g. the equivalent of `make -B depend blah'
Then you could make it "mandatory" without having the legacy folks
actually have to type it and, in all likelyhood, nobody would even notice
it had happened.

- Jordan

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3033.912832437>