[haiku-commits] Re: r40152 - haiku/trunk/src/apps/bootmanager

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 08 Jan 2011 18:02:53 +0100

On 2011-01-08 at 17:30:40 [+0100], Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> 
wrote:
> Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
> > BTW, unless you used MakeLocateArch intentionally, I'd recommend
> > MakeLocateDebug even if the file in question isn't debug flag
> > dependent
> > (yet).
> 
> What does MakeLocateDebug exactly, and why is it called that way?
> I used MakeLocateArch as the output is architecture depending, and is
> only used for x86.

There are different levels at which generated files can be shared. For each 
of them there's a MakeLocate* rule:

MakeLocateCommonPlatform: The file is shared between all target platforms.

MakeLocatePlatform: The file is specific for the target platform, but 
architecture independent. Usually the right rule for generated sources, 
though sometimes sources can be architecture specific.

MakeLocateArch: The file is platform+architecture specific, but is debug 
level independent. This is usually the right rule for generated 
architecture specific data or source files.

MakeLocateDebug: The file is platform+architecture+debug level specific. 
That's what should be used for compiled code.

Each rule implicitly uses a respective base dir in the 
"generated/<platform>/<arch>/<debug>" hierarchy -- at the first shared 
level (if any) the path is cut and a subdir named "common" is appended 
instead.

So, stricly speaking MakeLocateArch is OK for your rule, since it ignores 
the DEBUG variable anyway, but I'd generally use MakeLocateDebug for 
compiled code to avoid surprises in case support for DEBUG is added in the 
future.

> I don't have any real clue what I'm doing when I do Jam, though :-)

Good to know. ;-)

CU, Ingo

Other related posts: