[1672] in Kerberos_V5_Development

home help back first fref pref prev next nref lref last post

Re: testing

daemon@ATHENA.MIT.EDU (Ken Raeburn)
Thu Aug 29 22:00:21 1996

To: Tom Yu <tlyu@MIT.EDU>
Cc: "Barry Jaspan" <bjaspan@MIT.EDU>, tytso@MIT.EDU, krbdev@MIT.EDU
From: Ken Raeburn <raeburn@cygnus.com>
Date: 29 Aug 1996 21:55:02 -0400
In-Reply-To: Tom Yu's message of Thu, 29 Aug 1996 17:38:29 -0400

Tom Yu <tlyu@MIT.EDU> writes:

> The problem is, make -k rarely DTRT with subdirectories.  I've looked
> at the problem somewhat but have yet to come up with a reasonable
> solution.

Oh yeah, I forgot about that.  The hack for comparing $(MFLAGS)
against "*k*" and deciding whether to quit on failure is, um,
interesting, but if a popular version of make (say, a certain recent
GNU make) includes anything but the one-letter options (say,
command-line variable definitions) and that "anything" includes the
letter "k", you lose.  I generally just disable any such code I find,
because it has broken for me too often.

The approach the Cygnus CDB folks use at the moment is instead of
using a "for i in $(SUBDIRS)" loop, set up a bunch of targets, one per
directory, like this:

    ALL = all-lib all-appl all-clients ...
    all-appl : all-lib
    all-clients : all-lib
    $(ALL):
	d=`echo $@ | sed s/all-//` && cd $$d && $(MAKE) all $(FLAGS_TO_PASS)

That has the added advantage that you can build only the top-level
directories you're interested in and leave out the others, with a
command like "make all-clients".  If you've got the dependencies
right, the necessary library directories all still get built.

However, it's quite a bit more complex to maintain.

home help back first fref pref prev next nref lref last post