[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: how well does multi-arch build handle recursive building?
From: |
Greg Chicares |
Subject: |
Re: how well does multi-arch build handle recursive building? |
Date: |
Fri, 12 May 2006 05:23:57 +0000 |
User-agent: |
Mozilla Thunderbird 1.0.2 (Windows/20050317) |
On 2006-5-11 18:23 UTC, Robert P. J. Day wrote:
> at the moment, i'm using paul's multi-architecture build described
> here:
>
> http://make.paulandlesley.org/multi-arch.html
>
> successfully for simple builds for which all of the source files are
> in a single directory. (i'm not actually doing multi-architecture
> builds, i'm just using that technique to build the results in a remote
> directory. same difference, obviously.)
I use that technique in day-to-day production, for multiple
compilers, placing object and other binary files in compiler-
specific directories. Source files are scattered here and
there, but vpath means I don't need to worry about that.
> so how well does that technique extend to recursive builds?
It applies a single makefile recursively over directories.
> does it
> *naturally* handle a recursive set of makefiles, or do i have to add
> that extra makefile wrapper at every level of the recursive build
> directory hierarchy?
What sort of problem are your existing recursive makefiles
designed to solve? What problem do they not solve that adding
this technique would solve? The 'multi-arch" paper's technique
already recursively invokes make; why mix it in with another
presumably different sort of recursion?
> i realize i could probably figure that out just from examining the
> code but i'm already being pushed intellectually just to keep a handle
> on the simpler case.
The implementation details may look daunting at first, but once
you understand them, the essential concept is really simple:
$(MAKE) -C in a distinct build directory, letting vpath figure
out where to find the source files. I found it easier to learn,
personally, by copying the "macro" files into a main makefile
instead of including them.