Subject: Re: Problem linting libkafs - make guru needed
To: Perry E. Metzger <perry@piermont.com>
From: Frederick Bruckman <fb@enteract.com>
List: current-users
Date: 10/06/1998 12:50:16
On Mon, 5 Oct 1998, Perry E. Metzger wrote:

> Mason Loring Bliss writes:
> > On Mon, Oct 05, 1998 at 01:35:40PM -0700, Bill Studenmund wrote:
> > 
> > > I too am not having this problem. So that's two who are, and two who
> > > aren't.
> > > 
> > > Perry, are you using obj dir's? I am. Mason, Frederick, are y'all not
> > > using obj dirs? I bet that's the reason for the observed difference.

Yup, that's it. "mkdir obj" in libkrb is sufficient to permit libkafs
to be linted. Notice that, with the libkrb targets in the object dir,
they are not in make's path, so "make libkfs" doesn't see them, so it
remakes all of get_in_tkt.{o,po,so,ln}. No problem.

Without the object dir, the objects are in make's path, so they're not
remade. "gcc" is never called on them. "ar" is given the full path, so
there's no problem there. "lint" is not. You can see all that be
examining the output of "make -n" in lib/libkafs.

Another reasonable fix, besides making a special case of
get_in_tkt.ln, would be to modify the system makefiles so that "lint"
always gets the same treatment as "ar". Lastly, having another copy of
get_in_tkt.c in libkafs would avoid all this.

Discussion, please.