Subject: Re: MACHINE_ARCH vs. OBJ_ARCH
To: Todd Vierling <tv@pobox.com>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-toolchain
Date: 07/26/1998 15:16:31
>I will be using ${MACHINE_ARCH:C/^mipse[bl]$/mips/} as per Jason's
>suggestion.  It even retains compatibility with old make binaries.

Ok but do you mean everywhere we test against mips, or only the
subdir walk??


>: and makeflist,
>
>No need to hack this - it's a hack to begin with, and can just use more than
>one file.  If /you/ want just one file for "ad.mips", there

[snip] 

Yes, I do want, because in my head it will always be one arch:->.


>: I dont quite see how to do that with ONLY_FOR_ARCHES, at least not more
>: than once more than once per Makefile, but maybe I'm thick.

>ONLY_FOR_ARCHS=mips*
>ONLY_FOR_ARCHS=mipsel*

No, that's got global semantics for the whole file.
What I want is

	.if (${MACHINE_ARCH} == "mips*")
	.endif

where there may be other stanzas for other arches: sparc and sparc64,
one day. i guess we do that via

	.if (${MACHINE_ARCH:C/^mipse[bl]$/mips/} == "mips")

and we need to do that in all makefiles, pkg or otherwise, everywhere
${MACHINE_ARCH} is compared to "mips".  And similarly for sparc64.

I still think it'd be better to define a new variable for "arch
family" and use that where it's the semantically right test.  

I think it's clearly better engineering than scattering ed patterns
for 3 arches -- mips le/e, 64/ 32; sparc 64/32, powerpc 64/32 one day
-- all throughout the tree. And I still havent heard any reason _not_
to do it that way. Curious.