On Mon, Jan 04, 2016 at 05:25:07PM +0100, Uwe Kleine-König wrote: > On Mon, Jan 04, 2016 at 08:20:01AM -0800, Khem Raj wrote: > > > > > On Jan 4, 2016, at 5:39 AM, Jeff Epler <jepler@xxxxxxxxxxxxxx> wrote: > > > > > > I believe the patch does not have the desired effect, because make(1) > > > always sets CC automatically: > > > > > > $ cat raj.mk > > > CROSS_COMPILE=x86_64-linux-gnu- > > > CC?=$(CROSS_COMPILE)gcc > > > .PHONY: default > > > default: > > > @echo CC=$(CC) > > > $ make -f raj.mk > > > CC=cc > > > > > > With your patch, those who specify CROSS_COMPILE, or for whom gcc and cc > > > are different, will get different (worse) behavior. > > > > Right. I think if CC was used as such with out constructing out of CROSS_COMPILE > > in Makefile then my issue would be fixed too. However this would mean that cross compiling users > > now have to pass CC = <cross-compiler> themselves instead of CROSS_COMPILE prefix. Is that > > acceptable ? > > You could play with something like: > > ifeq($(origin CC),default) > CC=$(CROSS_COMPILE)gcc > endif > > but not sure I'd like the result. If you asked me, I'd drop all that > CROSS_COMPILE stuff. Why? Isn't this the normal way of triggering cross-compile? AFIAK, that's how the kernel does it, and that seems like a pretty sane way. And yes, I compile rt-tests to several architectures, so I'm quite fond of the CROSS_COMPILE switch. In fact, I might get cross if you cross it out :) -- Henrik Austad
Attachment:
signature.asc
Description: Digital signature