Re: kbuild/all archs: Sanitize creating offsets.h

Russell King
2004-10-29T19:51:21Z

On Fri, Oct 29, 2004 at 11:28:52PM +0200, Sam Ravnborg wrote:
> On Fri, Oct 29, 2004 at 01:45:49AM +0200, Sam Ravnborg wrote:
> > On Thu, Oct 28, 2004 at 10:00:24PM +0100, Russell King wrote:
> > > > Did you apply the patch that enabled kbuild files to be named Kbuild?
> > > > It looks like this patch is missing.
> > >
> > > I applied three patches. The first was "kbuild: Prefer Kbuild as name of
> > > the kbuild files"
> > >
> > > > If you did apply the patch could you please check if the asm->asm-arm
> > > > symlink exists when the error happens and that a file named Kbuild is
> > > > located in the directory: include/asm-arm/
> >
> > OK - I see it now.
> > It's in i386 also - I will have a fix ready tomorrow. Thanks for testing!
>
> Fix attached - next time I better check O= support myself.
> Russell - I would be glad if you could test this version. There is
> some symlink handling for arm I like to see tested.

Getting better, but still not right:

make -f /home/rmk/bk/linux-2.6-rmk/scripts/Makefile.build obj=include/asm-arm
SYMLINK include/asm-arm/arch -> include/asm-arm/arch-rpc
mkdir -p include/asm-arm
ln -fsn /home/rmk/bk/linux-2.6-rmk/include/asm-arm/arch-rpc include/asm-arm/arch
arm-linux-gcc -Wp,-MD,include/asm-arm/.offsets.s.d -nostdinc -iwithprefix include -D__KERNEL__ -Iinclude -Iinclude2 -I/home/rmk/bk/linux-2.6-rmk/include -I/home/rmk/bk/linux-2.6-rmk/include/asm-arm -Iinclude/asm-arm -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -fno-omit-frame-pointer -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mlittle-endian -mapcs-32 -D__LINUX_ARM_ARCH__=3 -march=armv3 -mtune=strongarm110 -malignment-traps -msoft-float -Uarm -Wdeclaration-after-statement -I/home/rmk/bk/linux-2.6-rmk/ -I arch/arm/kernel -DKBUILD_BASENAME=offsets -DKBUILD_MODNAME=offsets -S -o include/asm-arm/offsets.s /home/rmk/bk/linux-2.6-rmk/include/asm-arm/offsets.c
set -e; echo ' CHK include/asm-arm/constants.h'; mkdir -p include/asm-arm/; (set -e; echo "#ifndef __ASM_OFFSETS_H__"; echo "#define __ASM_OFFSETS_H__"; echo "/*"; echo " * DO NOT MODIFY."; echo " *"; echo " * This file was generated by arch/arm/Makefile"; echo " *"; echo " */"; echo ""; sed -ne "/^->/{s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; echo ""; echo "#endif" ) < include/asm-arm/offsets.s > include/asm-arm/constants.h.tmp; if [ -r include/asm-arm/constants.h ] && cmp -s include/asm-arm/constants.h include/asm-arm/constants.h.tmp; then rm -f include/asm-arm/constants.h.tmp; else echo ' UPD include/asm-arm/constants.h'; mv -f include/asm-arm/constants.h.tmp include/asm-arm/constants.h; fi
CHK include/asm-arm/constants.h
UPD include/asm-arm/constants.h
make[2]: *** No rule to make target `include/asm-arm/include/asm-arm/.arch', needed by `__build'. Stop.
make[1]: *** [prepare0] Error 2
make: *** [_all] Error 2

Removing "include/asm-arm/" from the always := line in asm-arm/Kbuild
appears to fix this.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core