Subject: Re: I must be doing something wrong...
To: Peter Seebach <seebs@plethora.net>
From: None <erh@nimenees.com>
List: current-users
Date: 02/17/2000 23:38:55
On Thu, Feb 17, 2000 at 11:06:35PM -0600, Peter Seebach wrote:
> In message <200002180457.WAA26112@jdarrowpiii.wheaton.edu>, John Darrow writes:
> # cd /usr/src/domestic/lib
> # ls -l */*.a
> -rw-r--r-- 1 root wheel 96548 Jul 11 1999 libntp/libntp.a
> -rw-r--r-- 1 root wheel 104530 Jul 11 1999 libntp/libntp_p.a
> -rw-r--r-- 1 root wheel 101024 Jul 11 1999 libntp/libntp_pic.a
> -rw-r--r-- 1 root wheel 62098 Feb 17 22:58 libtelnet/libtelnet.a
> -rw-r--r-- 1 root wheel 66334 Feb 17 22:58 libtelnet/libtelnet_p.a
> -rw-r--r-- 1 root wheel 66902 Feb 17 22:58 libtelnet/libtelnet_pic.a
> So, why did the libtelnet stuff get updated?
well, I don't know why it got updated, but I think I know how
to keep it from looking in there for the files. Add some .NOPATH lines
to bsd.lib.mk:
.NOPATH: ${ALLOBJS}
.NOPATH: lib${LIB}.a lib${LIB}_p.a lib${LIB}_pic.a llib-l${LIB}.ln
.NOPATH: lib${LIB}.so.* lib${LIB}.so
This seems to work fine. with or w/o obj dirs. with or w/o bogus stuff
in crypto-us/...
When the Makefile.frag from crypto-us/lib/libcrypt did a
.PATH: ${.CURDIR}/${CRYPTOPATH}/lib/libcrypt, it told make to search
for any files it needed in this directory, including built object
files. Adding the NOPATH tells it to only use the current directory
for the specified files. bsd.prog.mk already does this for programs.
hmm... as for the files getting updated in the domestic tree.
I guess make remembers where it found a file in the search path and sends
the output there. Adding NOPATH also tells it to stay in the current
directory so output object files go there.
as far as I can tell NOPATH fixes the problem, so I'll commit it.
However, this is all stuff I just figured out now so if someone knows
some problem with doing this, let me know soon.
eric