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