>> 1 # SPDX-License-Identifier: GPL-2.0 >> 2 # Makefile for the Sparc boot stuff. 1 # 3 # 2 # arch/alpha/boot/Makefile !! 4 # Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) 3 # !! 5 # Copyright (C) 1997,1998 Jakub Jelinek (jj@ultra.linux.cz) 4 # This file is subject to the terms and condit << 5 # License. See the file "COPYING" in the main << 6 # for more details. << 7 # << 8 # Copyright (C) 1994 by Linus Torvalds << 9 # << 10 << 11 hostprogs := tools/mkbb tools/objstrip << 12 targets := vmlinux.gz vmlinux \ << 13 vmlinux.nh tools/lxboot too << 14 tools/bootpzh bootloader bo << 15 OBJSTRIP := $(obj)/tools/objstrip << 16 << 17 KBUILD_HOSTCFLAGS := -Wall -I$(objtree)/usr/in << 18 BOOTCFLAGS += -I$(objtree)/$(obj) -I$(src << 19 << 20 # SRM bootable image. Copy to offset 512 of a << 21 $(obj)/bootimage: $(addprefix $(obj)/tools/,mk << 22 ( cat $(obj)/tools/lxboot $(obj)/tools << 23 $(obj)/tools/mkbb $@ $(obj)/tools/lxbo << 24 @echo ' Bootimage $@ is ready' << 25 << 26 # BOOTP bootable image. Define INITRD during << 27 $(obj)/bootpfile: $(obj)/tools/bootph $(obj)/v << 28 cat $(obj)/tools/bootph $(obj)/vmlinux << 29 ifdef INITRD << 30 cat $(INITRD) >> $@ << 31 endif << 32 << 33 # Compressed kernel BOOTP bootable image. << 34 # Define INITRD during make to append initrd i << 35 $(obj)/bootpzfile: $(obj)/tools/bootpzh $(obj) << 36 cat $(obj)/tools/bootpzh $(obj)/vmlinu << 37 ifdef INITRD << 38 cat $(INITRD) >> $@ << 39 endif << 40 << 41 # Compressed kernel image << 42 $(obj)/vmlinux.gz: $(obj)/vmlinux FORCE << 43 $(call if_changed,gzip) << 44 @echo ' Kernel $@ is ready' << 45 << 46 $(obj)/main.o: $(obj)/ksize.h << 47 $(obj)/bootp.o: $(obj)/ksize.h << 48 $(obj)/bootpz.o: $(obj)/kzsize.h << 49 << 50 $(obj)/ksize.h: $(obj)/vmlinux.nh FORCE << 51 echo "#define KERNEL_SIZE `ls -l $(obj << 52 ifdef INITRD << 53 [ -f $(INITRD) ] || exit 1 << 54 echo "#define INITRD_IMAGE_SIZE `ls -l << 55 endif << 56 cmp -s $@T $@ || mv -f $@T $@ << 57 rm -f $@T << 58 6 59 $(obj)/kzsize.h: $(obj)/vmlinux.nh.gz FORCE !! 7 ROOT_IMG := /usr/src/root.img 60 echo "#define KERNEL_SIZE `ls -l $(obj !! 8 ELFTOAOUT := elftoaout 61 echo "#define KERNEL_Z_SIZE `ls -l $(o << 62 ifdef INITRD << 63 [ -f $(INITRD) ] || exit 1 << 64 echo "#define INITRD_IMAGE_SIZE `ls -l << 65 endif << 66 cmp -s $@T $@ || mv -f $@T $@ << 67 rm -f $@T << 68 9 69 quiet_cmd_strip = STRIP $@ !! 10 hostprogs := piggyback 70 cmd_strip = $(STRIP) -o $@ $< !! 11 targets := tftpboot.img image zImage vmlinux.aout >> 12 clean-files := System.map 71 13 72 $(obj)/vmlinux: vmlinux FORCE !! 14 quiet_cmd_elftoaout = ELFTOAOUT $@ 73 $(call if_changed,strip) !! 15 cmd_elftoaout = $(ELFTOAOUT) $(obj)/image -o $@ >> 16 quiet_cmd_piggy = PIGGY $@ >> 17 cmd_piggy = $(obj)/piggyback $(BITS) $@ System.map $(ROOT_IMG) >> 18 quiet_cmd_strip = STRIP $@ >> 19 cmd_strip = $(STRIP) -R .comment -R .note -K sun4u_init -K _end -K _start $< -o $@ 74 20 75 quiet_cmd_objstrip = OBJSTRIP $@ !! 21 ifeq ($(CONFIG_SPARC64),y) 76 cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@ << 77 22 78 OSFLAGS_vmlinux.nh := -v !! 23 # Actual linking 79 OSFLAGS_lxboot := -p << 80 OSFLAGS_bootlx := -vb << 81 OSFLAGS_bootph := -vb << 82 OSFLAGS_bootpzh := -vb << 83 24 84 $(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE !! 25 $(obj)/zImage: $(obj)/image FORCE 85 $(call if_changed,objstrip) << 86 << 87 $(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE << 88 $(call if_changed,gzip) 26 $(call if_changed,gzip) >> 27 @$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' 89 28 90 $(obj)/tools/lxboot: $(obj)/bootloader $(OBJST !! 29 $(obj)/vmlinux.aout: vmlinux FORCE 91 $(call if_changed,objstrip) !! 30 $(call if_changed,elftoaout) 92 !! 31 @$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' 93 $(obj)/tools/bootlx: $(obj)/bootloader $(OBJST !! 32 else 94 $(call if_changed,objstrip) << 95 33 96 $(obj)/tools/bootph: $(obj)/bootpheader $(OBJS !! 34 $(obj)/zImage: $(obj)/image FORCE 97 $(call if_changed,objstrip) !! 35 $(call if_changed,strip) 98 !! 36 @$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' 99 $(obj)/tools/bootpzh: $(obj)/bootpzheader $(OB << 100 $(call if_changed,objstrip) << 101 37 102 LDFLAGS_bootloader := -static -T # -N -relax !! 38 # The following lines make a readable image for U-Boot. 103 LDFLAGS_bootloader := -static -T # -N -relax !! 39 # uImage - Binary file read by U-boot 104 LDFLAGS_bootpheader := -static -T # -N -relax !! 40 # uImage.o - object file of uImage for loading with a 105 LDFLAGS_bootpzheader := -static -T # -N -relax !! 41 # flash programmer understanding ELF. >> 42 >> 43 OBJCOPYFLAGS_image.bin := -S -O binary -R .note -R .comment >> 44 $(obj)/image.bin: $(obj)/image FORCE >> 45 $(call if_changed,objcopy) 106 46 107 OBJ_bootlx := $(obj)/head.o $(obj)/stdio.o $ !! 47 $(obj)/image.gz: $(obj)/image.bin FORCE 108 OBJ_bootph := $(obj)/head.o $(obj)/stdio.o $ !! 48 $(call if_changed,gzip) 109 OBJ_bootpzh := $(obj)/head.o $(obj)/stdio.o $ << 110 49 111 $(obj)/bootloader: $(obj)/bootloader.lds $(OBJ !! 50 UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR) 112 $(call if_changed,ld) !! 51 UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR) >> 52 UIMAGE_COMPRESSION = gzip >> 53 >> 54 quiet_cmd_uimage.o = UIMAGE.O $@ >> 55 cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \ >> 56 -r -b binary $@ -o $@.o >> 57 >> 58 targets += uImage >> 59 $(obj)/uImage: $(obj)/image.gz FORCE >> 60 $(call if_changed,uimage) >> 61 $(call if_changed,uimage.o) >> 62 @$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' 113 63 114 $(obj)/bootpheader: $(obj)/bootloader.lds $(OB !! 64 endif 115 $(call if_changed,ld) << 116 65 117 $(obj)/bootpzheader: $(obj)/bootloader.lds $(O !! 66 $(obj)/image: vmlinux FORCE 118 $(call if_changed,ld) !! 67 $(call if_changed,strip) >> 68 @$(kecho) 'Kernel: $@ is ready' '(#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' 119 69 120 $(obj)/misc.o: lib/inflate.c !! 70 $(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback System.map $(ROOT_IMG) FORCE >> 71 $(call if_changed,elftoaout) >> 72 $(call if_changed,piggy)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.