tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: default TOOLDIR



On Fri, 24 Oct 2008, David Holland wrote:
> On Thu, Oct 23, 2008 at 07:16:30PM +0200, Alan Barrett wrote:
>  > > At the second build, we already have /usr/src/obj
>  > > because the first build has created it.
>  > 
>  > If build.sh could figure out the name of the top level obj dir, then it
>  > could just create it, and not have this difference between the first and
>  > second runs.
> 
> It shouldn't need to. It should be able to just start out by doing
> "make obj-here", where obj-here is the non-recursing portion of the
> obj target. Right now this portion isn't separately addressable, but
> that should be relatively easy to adjust in bsd.obj.mk.

I thought about adding a top-obj target to src/Makefile, but I couldn't
see a use for it.  Supposing we did have such a target, and changed the
top level make build to do

        make cleandir
        make top-obj
        make tools-obj
        make tools # build and install
        make obj
        make everything else

how do you see the extra "make top-obj" step as actually helping?

The reason I don't think it would help is that,
when MAKEOBJDIR or MAKEOBJDIRPREFIX is not set:

  the existence or nonexistence of the top level obj dir has no effect
  on the choice of obj dir for any other source directory (so the choice
  of obj dir for src/tools is unaffected by the difference between an
  early make top-obj and a later recursive "make obj");

and when MAKEOBJDIR or MAKEOBJDIRPREFIX is set:

  the top level obj directory has to exist already (so make top-obj
  would do nothing), or else bsd.obj.mk gives an error (so make top-obj
  will simply cause the error to occur a little earlier than otherwise).

What have I missed?

--apb (Alan Barrett)


Home | Main Index | Thread Index | Old Index