From owner-cvs-all Fri Dec 4 20:32:39 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA04463 for cvs-all-outgoing; Fri, 4 Dec 1998 20:32:39 -0800 (PST) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from zippy.cdrom.com (zippy.cdrom.com [204.216.27.228]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA04447; Fri, 4 Dec 1998 20:32:32 -0800 (PST) (envelope-from jkh@zippy.cdrom.com) Received: from zippy.cdrom.com (jkh@localhost.cdrom.com [127.0.0.1]) by zippy.cdrom.com (8.9.1/8.9.1) with ESMTP id UAA03037; Fri, 4 Dec 1998 20:33:57 -0800 (PST) To: Mike Smith cc: Greg Lehey , Warner Losh , Steve Kargl , "Robert V. Baron" , 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) In-reply-to: Your message of "Fri, 04 Dec 1998 18:09:15 PST." <199812050209.SAA01724@dingo.cdrom.com> Date: Fri, 04 Dec 1998 20:33:57 -0800 Message-ID: <3033.912832437@zippy.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk > '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