]> git.neil.brown.name Git - history.git/commitdiff
kbuild: Don't descend into arch/i386/boot
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Sat, 5 Oct 2002 10:22:57 +0000 (05:22 -0500)
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Sat, 5 Oct 2002 10:22:57 +0000 (05:22 -0500)
We don't descend anymore when building vmlinux, so don't do so for
the i386 specific boot targets, either.

Plus, more cleanup in arch/i386/Makefile

Rules.make
arch/i386/Makefile
arch/i386/boot/Makefile
arch/i386/boot/compressed/Makefile

index 65e8c37bc4bf616aa63522894a899dd9b0c6feae..f5e14435329a12187ee3086d20f9a2348a276699 100644 (file)
@@ -457,7 +457,7 @@ cmd_shipped = cat $< > $@
 # ---------------------------------------------------------------------------
 
 quiet_cmd_ld = LD      $(echo_target)
-cmd_ld = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$@) \
+cmd_ld = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) \
               $(filter-out FORCE,$^) -o $@ 
 
 # Objcopy
index 7d8633234a34897a46c917819412ea190750b887..030cde7c91ca66ba393e0f52945bf03879c98739 100644 (file)
@@ -25,65 +25,23 @@ CFLAGS += -pipe
 # prevent gcc from keeping the stack 16 byte aligned
 CFLAGS += $(shell if $(CC) -mpreferred-stack-boundary=2 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-mpreferred-stack-boundary=2"; fi)
 
-ifdef CONFIG_M386
-CFLAGS += -march=i386
-endif
-
-ifdef CONFIG_M486
-CFLAGS += -march=i486
-endif
-
-ifdef CONFIG_M586
-CFLAGS += -march=i586
-endif
-
-ifdef CONFIG_M586TSC
-CFLAGS += -march=i586
-endif
-
-ifdef CONFIG_M586MMX
-CFLAGS += -march=i586
-endif
-
-ifdef CONFIG_M686
-CFLAGS += -march=i686
-endif
-
-ifdef CONFIG_MPENTIUMIII
-CFLAGS += -march=i686
-endif
-
-ifdef CONFIG_MPENTIUM4
-CFLAGS += -march=i686
-endif
-
-ifdef CONFIG_MK6
-CFLAGS += $(shell if $(CC) -march=k6 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=k6"; else echo "-march=i586"; fi)
-endif
-
-ifdef CONFIG_MK7
-CFLAGS += $(shell if $(CC) -march=athlon -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=athlon"; else echo "-march=i686 -malign-functions=4"; fi) 
-endif
-
-ifdef CONFIG_MCRUSOE
-CFLAGS += -march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0
-endif
-
-ifdef CONFIG_MWINCHIPC6
-CFLAGS += -march=i586
-endif
-
-ifdef CONFIG_MWINCHIP2
-CFLAGS += -march=i586
-endif
-
-ifdef CONFIG_MWINCHIP3D
-CFLAGS += -march=i586
-endif
-
-ifdef CONFIG_MCYRIXIII
-CFLAGS += -march=i586
-endif
+cflags-$(CONFIG_M386)          += -march=i386
+cflags-$(CONFIG_M486)          += -march=i486
+cflags-$(CONFIG_M586)          += -march=i586
+cflags-$(CONFIG_M586TSC)       += -march=i586
+cflags-$(CONFIG_M586MMX)       += -march=i586
+cflags-$(CONFIG_M686)          += -march=i686
+cflags-$(CONFIG_MPENTIUMIII)   += -march=i686
+cflags-$(CONFIG_MPENTIUM4)     += -march=i686
+cflags-$(CONFIG_MK6)           += $(shell if $(CC) -march=k6 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=k6"; else echo "-march=i586"; fi)
+cflags-$(CONFIG_MK7)           += $(shell if $(CC) -march=athlon -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=athlon"; else echo "-march=i686 -malign-functions=4"; fi) 
+cflags-$(CONFIG_MCRUSOE)       += -march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0
+cflags-$(CONFIG_MWINCHIPC6)    += -march=i586
+cflags-$(CONFIG_MWINCHIP2)     += -march=i586
+cflags-$(CONFIG_MWINCHIP3D)    += -march=i586
+cflags-$(CONFIG_MCYRIXIII)     += -march=i586
+
+CFLAGS += $(cflags-y)
 
 ifdef CONFIG_VISWS
 MACHINE        := mach-visws
@@ -94,47 +52,39 @@ endif
 HEAD := arch/i386/kernel/head.o arch/i386/kernel/init_task.o
 
 libs-y                                         += arch/i386/lib/
-core-y                                 += arch/i386/kernel/ arch/i386/mm/ arch/i386/$(MACHINE)/
+core-y                                 += arch/i386/kernel/ arch/i386/mm/ \
+                                          arch/i386/$(MACHINE)/
 drivers-$(CONFIG_MATH_EMULATION)       += arch/i386/math-emu/
 drivers-$(CONFIG_PCI)                  += arch/i386/pci/
 
 CFLAGS += -Iarch/i386/$(MACHINE)
 AFLAGS += -Iarch/i386/$(MACHINE)
 
-MAKEBOOT = +$(MAKE) -C arch/$(ARCH)/boot
+makeboot = $(call descend,arch/i386/boot,$(1))
 
 .PHONY: zImage bzImage compressed zlilo bzlilo zdisk bzdisk install \
                clean archclean archmrproper
 
 all: bzImage
 
-zImage: vmlinux
-       @$(MAKEBOOT) zImage
+BOOTIMAGE=arch/i386/boot/bzImage
+zImage zlilo zdisk: BOOTIMAGE=arch/i386/boot/zImage
 
-bzImage: vmlinux
-       @$(MAKEBOOT) bzImage
+zImage bzImage: vmlinux
+       @$(call makeboot,$(BOOTIMAGE))
 
 compressed: zImage
 
-zlilo: vmlinux
-       @$(MAKEBOOT) BOOTIMAGE=zImage zlilo
-
-tmp:
-       @$(MAKEBOOT) BOOTIMAGE=bzImage zlilo
-bzlilo: vmlinux
-       @$(MAKEBOOT) BOOTIMAGE=bzImage zlilo
-
-zdisk: vmlinux
-       @$(MAKEBOOT) BOOTIMAGE=zImage zdisk
+zlilo bzlilo: vmlinux
+       @$(call makeboot,BOOTIMAGE=$(BOOTIMAGE) zlilo)
 
-bzdisk: vmlinux
-       @$(MAKEBOOT) BOOTIMAGE=bzImage zdisk
+zdisk bzdisk: vmlinux
+       @$(call makeboot,BOOTIMAGE=$(BOOTIMAGE) zdisk)
 
 install: vmlinux
-       @echo 'Cleaning up (arch)'
-       @$(MAKEBOOT) BOOTIMAGE=bzImage install
+       @$(call makeboot,BOOTIMAGE=$(BOOTIMAGE) install)
 
 archclean:
-       @$(MAKEBOOT) clean
+       @$(call makeboot,clean)
 
 archmrproper:
index 7ec51da8da286b440ea1837f23c843799e468a06..f0019d1a5317d1c3e3a5a31be5c3670e8383ab63 100644 (file)
@@ -38,30 +38,32 @@ include $(TOPDIR)/Rules.make
 
 # ---------------------------------------------------------------------------
 
-zImage:  IMAGE_OFFSET := 0x1000
-zImage:  EXTRA_AFLAGS := -traditional $(SVGA_MODE) $(RAMDISK)
-bzImage: IMAGE_OFFSET := 0x100000
-bzImage: EXTRA_AFLAGS := -traditional $(SVGA_MODE) $(RAMDISK) -D__BIG_KERNEL__
-bzImage: BUILDFLAGS   := -b
+$(obj)/zImage:  IMAGE_OFFSET := 0x1000
+$(obj)/zImage:  EXTRA_AFLAGS := -traditional $(SVGA_MODE) $(RAMDISK)
+$(obj)/bzImage: IMAGE_OFFSET := 0x100000
+$(obj)/bzImage: EXTRA_AFLAGS := -traditional $(SVGA_MODE) $(RAMDISK) -D__BIG_KERNEL__
+$(obj)/bzImage: BUILDFLAGS   := -b
 
 quiet_cmd_image = BUILD   $(echo_target)
-cmd_image = tools/build $(BUILDFLAGS) bootsect setup vmlinux.bin \
-                       $(ROOT_DEV) > $@
+cmd_image = $(obj)/tools/build $(BUILDFLAGS) $(obj)/bootsect $(obj)/setup \
+           $(obj)/vmlinux.bin $(ROOT_DEV) > $@
 
-zImage bzImage: bootsect setup vmlinux.bin tools/build FORCE
+$(obj)/zImage $(obj)/bzImage: $(obj)/bootsect $(obj)/setup \
+                             $(obj)/vmlinux.bin $(obj)/tools/build FORCE
        $(call if_changed,image)
 
-vmlinux.bin: compressed/vmlinux FORCE
+$(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE
        $(call if_changed,objcopy)
 
 LDFLAGS_bootsect := -Ttext 0x0 -s --oformat binary
 LDFLAGS_setup   := -Ttext 0x0 -s --oformat binary -e begtext
 
-setup bootsect: %: %.o FORCE
+$(obj)/setup $(obj)/bootsect: %: %.o FORCE
        $(call if_changed,ld)
 
-compressed/vmlinux: FORCE
-       @$(MAKE) IMAGE_OFFSET=$(IMAGE_OFFSET) -C compressed vmlinux
+$(obj)/compressed/vmlinux: FORCE
+       @$(call descend,$(obj)/compressed,IMAGE_OFFSET=$(IMAGE_OFFSET) \
+               $(obj)/compressed/vmlinux)
 
 
 zdisk: $(BOOTIMAGE)
@@ -71,18 +73,17 @@ zlilo: $(BOOTIMAGE)
        if [ -f $(INSTALL_PATH)/vmlinuz ]; then mv $(INSTALL_PATH)/vmlinuz $(INSTALL_PATH)/vmlinuz.old; fi
        if [ -f $(INSTALL_PATH)/System.map ]; then mv $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi
        cat $(BOOTIMAGE) > $(INSTALL_PATH)/vmlinuz
-       cp $(TOPDIR)/System.map $(INSTALL_PATH)/
+       cp System.map $(INSTALL_PATH)/
        if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
 
 install: $(BOOTIMAGE)
-       sh -x ./install.sh $(KERNELRELEASE) $(BOOTIMAGE) $(TOPDIR)/System.map "$(INSTALL_PATH)"
+       sh $(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)"
 
 clean:
        @echo 'Cleaning up (boot)'
-       @rm -f tools/build vmlinux.bin bvmlinux.bin
-       @rm -f setup bootsect zImage compressed/vmlinux.out
-       @rm -f bsetup bbootsect bzImage compressed/bvmlinux.out
-       @$(MAKE) -C compressed clean
+       @rm -f $(addprefix $(obj)/,tools/build vmlinux.bin bvmlinux.bin \
+               bootsect zImage bsetup bbootsect bzImage)
+       @$(call descend,$(obj)/compressed) clean
 
 archhelp:
        @echo  '* bzImage       - Compressed kernel image (arch/$(ARCH)/boot/bzImage)'
index df0f5f75e2e4f92a88d4a35debafb592509d2eec..5300c7e9b36b8cdbbfb9f3daf1c6bf67ece6238e 100644 (file)
@@ -11,19 +11,20 @@ include $(TOPDIR)/Rules.make
 
 LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup_32
 
-vmlinux: head.o misc.o piggy.o FORCE
+$(obj)/vmlinux: $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o FORCE
        $(call if_changed,ld)
 
-vmlinux.bin: $(TOPDIR)/vmlinux FORCE
+$(obj)/vmlinux.bin: vmlinux FORCE
        $(call if_changed,objcopy)
 
-vmlinux.bin.gz: vmlinux.bin FORCE
+$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
        $(call if_changed,gzip)
 
 LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
 
-piggy.o: vmlinux.scr vmlinux.bin.gz FORCE
+$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
        $(call if_changed,ld)
 
 clean:
-       @rm -f vmlinux vmlinux.bin vmlinux.bin.gz
+       @echo 'Cleaning up (boot/compressed)'
+       @rm -f $(addprefix $(obj)/,vmlinux vmlinux.bin vmlinux.bin.gz)