Subject: Re: Extreme lethargy when dependencies are missing (part 2)
To: Frederick Bruckman <fredb@immanent.net>
From: Todd Vierling <tv@wasabisystems.com>
List: tech-pkg
Date: 10/08/2001 09:20:40
On Mon, 8 Oct 2001, Frederick Bruckman wrote:

: This means, of course, that you'd have to have non-recursing targets
: to correspond to the recursing ones; otherwise you wouldn't save any
: time at all. The "checksum" target could do for "fetch" with little
: change, "real-install" possibly for "install". There could be a
: "no-recurse-package" that makes binary packages encoding the DEPENDS
: in the Makefile, and nothing else. Also, similar treatment for
: "readme" and probably a couple of others that I haven't thought of.

The bsd.pkg.mk recursion level is insane.  It's recursing from "build" to
"pre-build", "do-build", and "post-build" within the same package, for
instance; these should be collapsible into make(1) dependencies, i.e.:

build: post-build
post-build: do-build
do-build: pre-build
pre-build: ${EXTRACT_COOKIE}

...and note that now, you don't need ".if !target(foo)" conditionals for
these.  The extra processing done in extract, patch, build, etc. can be
inserted at the appropriate locations in these dependencies above.

There are some recently added ".if make()" conditionals that will make this
collapsing tricky, but it really should be done at some point.

-- 
-- Todd Vierling <tv@wasabisystems.com>  *  Wasabi NetBSD:  Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/