======== arch/alpha/boot/Makefile.in # XXX add arch/../lib.a twice or else link problem... bootloader_objects += $(objfile /arch/$(ARCH)/lib/lib.a) $(objfile /lib/lib.a) $(objfile /arch/$(ARCH)/lib/lib.a)
That should not be necessary, it implies there is a reference loop between arch/$(ARCH)/lib/lib.a and /lib/lib.a. Could you try this? bootloader_objects += $(objfile /lib/lib.a) $(objfile /arch/$(ARCH)/lib/lib.a) bootpheader_objects += $(objfile /lib/lib.a) $(objfile /arch/$(ARCH)/lib/lib.a) ifdef CONFIG_INSTALL_INITRD_NAME Don't use ifdef, 2.5 may define variables to 'n' for autoconfiguration. Use ifsel(CONFIG_INSTALL_INITRD_NAME). user_command(bootpfile ($(objfile vmlinux.nh) $(objfile tools/bootph)) (set -e; cat $(objfile tools/bootph) $(objfile vmlinux.nh) >$@; [ -f $(CONFIG_INSTALL_INITRD_NAME) ] || exit 1; cat $(CONFIG_INSTALL_INITRD_NAME) >>$@; ) () ) Make initrd_name contain the name of a local file and wrap in $(objfile). [ -f $(objfile $(CONFIG_INSTALL_INITRD_NAME)) ] || exit 1; cat $(objfile $(CONFIG_INSTALL_INITRD_NAME)) >>$@; # ksize.h # ouch. now this is quoting . # am i missing something obvious ? # (as it runs sh -c ' ... ' , and i want quotes for the awk command ... ifdef CONFIG_INSTALL_INITRD_NAME user_command(tmp_ksize.h ($(objfile vmlinux.nh)) (set -e; echo "#define KERNEL_SIZE `ls -l $(objfile vmlinux.nh) | awk '\''{print $$5}'\''`" > $@; [ -f $(CONFIG_INSTALL_INITRD_NAME) ] || exit 1; echo "#define INITRD_IMAGE_SIZE `ls -l $(CONFIG_INSTALL_INITRD_NAME) | awk '\''{print $$5}'\''`" >> $@ ) () ) Quoting in user commands is tricky. user_command() uses ' so it is best if the commands do not use '. Both the shell and make have their own quoting rules in addition to user_command(). Write the initial command as it would be typed into the shell, using " instead of '. ls -l $(objfile vmlinux.nh) | awk "{print \$5}" Backticks need \ to be doubled up inside ". echo `ls -l $(objfile vmlinux.nh) | awk "{print \\$5}"` Add the rest of the command echo "#define KERNEL_SIZE "`ls -l $(objfile vmlinux.nh) | awk "{print \\$5}"` > $@; make requires that a literal $ be doubled up. echo "#define KERNEL_SIZE "`ls -l $(objfile vmlinux.nh) | awk "{print \\$$5}"` > $@; ======== arch/alpha/boot/tools/Makefile.in create_objdir(CONFIG_Y) AFAICT tools is only required if bootimage or bootpfile are requested. If so, make that create_objdir(CONFIG_BOOTIMAGE) create_objdir(CONFIG_BOOTP) extra_cflags(objstrip.o $(src_includelist /include)) Export include_list in Makefile-2.5 and change to extra_cflags(objstrip.o $(include_list)) # is that clean ? (ghoz) Looks clean to me. ======== arch/alpha/kernel/Makefile.in Nice. I like the duplicated lines for generic, especially since you seem to have found some bugs doing it that way. ======== arch/alpha/lib/Makefile.in # OK. the order of old makefile is now respected, but boy, what-a-mess ... # FIXME clean this up if the ordering is not *that* important. By definition, the order of entries in an archive is irrelevant. There is no defined link order for members read from an archive. # some of the .S includes <alpha/regdef.h> witch is in /usr/include ... (baaad .h) #extra_aflags_all(-I/usr/include) Dead comments. # question: where those 2 .S fit in the library ? I don't see these files in the old makefiles ... (ghoz) uses_asm_offsets(stackcheck.o stackkill.o) They are debugging tools that probably only make sense when you compile with -pg. Ask RTH if he has any sample build code, if not, delete the stack*.S files, they are dead. ======== arch/alpha/Makefile.defs.config Yeuch! However I don't see a cleaner way of doing it. ======== arch/alpha/Makefile.defs.noconfig ifeq ($(old_gas),y) # How do we do #error in make? CFLAGS := --error-please-upgrade-your-assembler endif This might work. ifeq ($(old_gas),y) $(error please upgrade your assembler) endif ======== arch/alpha/math-emu/Makefile.in extra_cflags_all(-I. $(src_includelist /include/math-emu) -w) You do not need -I., it is automatic for all directories. ======== include/asm-alpha/regdef.h Minor niggle, #ifdef guards are usually in upper case in the kernel. _______________________________________________ kbuild-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/kbuild-devel