On Tue, Jan 01, 2008 at 02:44:48PM +0100, Andreas Schwab wrote: > Sam Ravnborg <sam@xxxxxxxxxxxx> writes: > > >> @@ -24,7 +24,7 @@ HEAD_DEFINES := -D_kernel_start=0x$(KERNEL_START) \ > >> -D TIMESTAMP=$(shell date +%s) > >> > >> $(obj)/head.o: $(obj)/head.S $(KERNEL_IMAGE) > >> - $(CC) -fno-pic $(HEAD_DEFINES) -I$(TOPDIR)/include -c -o $@ $< > >> + $(CC) -fno-pic $(HEAD_DEFINES) -I$(objtree)/include -c -o $@ $< > > This has never worked with O=.. builds. > > The correct fix here is to use: > >> + $(CC) -fno-pic $(HEAD_DEFINES) -Iinclude -Iinclude2 -c -o $@ $< > > > > The -Iinclude2 is only for O=... builds so to keep current > > behaviour removing $(TOPDIR)/ would do it. > > Shouldn't that use $(LINUXINCLUDE), or $(KBUILD_CPPFLAGS)? It would be better to use $(LINUXINCLUDE) as we then pull in all config symbols too and do not have to hardcode kbuild internal names (include2). As for the use of KBUILD_CPPFLAGS at present the usage is not consistent across the architectures. Why does arm for example say: KBUILD_CPPFLAGS += -mbig-endian This looks like a KBUILD_CFLAGS thing to me. So we should preferably stick with LINUXINCLUDE for now. Sam