Subject: Re: Problem with make DESTDIR=...
To: NetBSD-current Users <current-users@NetBSD.ORG>
From: Curt Sampson <>
List: current-users
Date: 01/08/1997 15:34:27
It's ocurred to me that, since we're thinking about changing the
build process anyway, it might be worthwhile abandoning the symlinks
in the source tree altogether. It would work like this:

If we are in BSDSRCDIR:

* If BSDOBJDIR is not set, we print a warning.

* If it is set, we first try to build in ${BSDOBJDIR}.${MACHINE_ARCH}.
If that doesn't exist, we try ${BSDOBJDIR}. If that fails too, we
print an error and die. As well as absolute paths, appropriately
modfied with the current path with $BSDSRCDIR removed, we would
allow relative paths and build directly there, without referring
to BSDSRCDIR at all.

* `Make obj' would still make the object tree based on ${BSDOBJDIR},
but would not make symlinks in the source tree.

This would give us the ability to do everything we do now, by
setting BSDOBJDIR to `.', `obj', or `/usr/obj' depending on whether
we want to build in the source tree, in obj directories in the
source tree, or in a separate tree. It's also less confusing and
a bit more orthoginal than our current system with BSDOBJDIR used
only by `make obj,' and OBJMACHINE and USR_OBJMACHINE needed to
determine whether the obj.machine_arch directories are used or not.

This would also let us build from read-only source trees that don't
have the appropriate obj directories already in them.

What are the disadvantages of this scheme?


Curt Sampson		Info at
Internet Portal Services, Inc.	
Vancouver, BC   (604) 257-9400		De gustibus, aut bene aut nihil.