This is the mail archive of the
automake@gnu.org
mailing list for the automake project.
Re: proposal to fork the build-tools projects
- From: Roger Leigh <roger at whinlatter dot uklinux dot net>
- To: Tom Lord <lord at regexps dot com>
- Cc: automake at gnu dot org
- Date: 26 Oct 2002 14:24:48 +0100
- Subject: Re: proposal to fork the build-tools projects
- References: <Pine.LNX.4.44.0210152108580.928-100000@localhost.localdomain><200210162124.OAA03641@morrowfield.regexps.com><87n0p99bhu.fsf@fleche.redhat.com><200210210647.XAA25967@morrowfield.regexps.com><200210210803.BAA26196@morrowfield.regexps.com><87wuo74he6.fsf@fleche.redhat.com><200210250359.UAA15739@morrowfield.regexps.com>
Tom Lord <lord@regexps.com> writes:
> Long-time automake readers already know I'm strongly against
> this sort of structuring. This yields Makefiles which are
> fragile and undependable. For instance, if you create a
> temporary file with a "source-like" name in the source tree,
> then the build fails.
>
>
> Conversely, using the opposite approach, if you add a source file, and
> fail to correctly update the makefile, the build fails. Big whoop.
> Just as "fragile and undependable" either way. This is a purely
> rhetorical line of analysis that admits no objective decision making.
Globbing can inadvertently lead to unwanted files being
compiled/distributed/deleted/whatever. If you accidentally delete a
source file, make won't complain because it won't know.
If you explicitly list the files, it ensures the dependencies will be
correct. You want the build to be /consistent/, and globbing does not
guaruantee consistency. The build should be identical on my machine,
all my co-developers' machines and my users machines, whatever
temporary files, copied files etc. are in the source tree, and
whatever they deleted, either accidentally or on purpose. In these
cases a list certainly isn't fragile, and is much more dependable than
globbing.
Having to keep the Makefile.am up-to-date is a very small price to pay
for consistency.
That's not to say globbing is never useful; it certainly is. However,
it does cause more problems than it solves. Try working out why
$random_user's build is failing when you can't predict what is
actually happening.
Regards,
Roger
--
Roger Leigh
"Liberty and Livelihood" - Support the Countryside Alliance
Need Epson Stylus Utilities? http://gimp-print.sourceforge.net/
GPG Public Key: 0x25BFB848 available on public keyservers