1# SPDX-License-Identifier: GPL-2.0 2# 3# Author: Huacai Chen <chenhuacai@loongson.cn> 4# Copyright (C) 2020 Loongson Technology Corporation Limited 5 6# 7# Drop some uninteresting sections in the kernel. 8# This is only relevant for ELF kernels but doesn't hurt a.out 9# 10OBJECT_FILES_NON_STANDARD := y 11 12drop-sections := .comment .note .options 13strip-flags := $(addprefix --remove-section=,$(drop-sections)) 14 15suffix-y := bin 16suffix-$(CONFIG_KERNEL_GZIP) := gz 17suffix-$(CONFIG_KERNEL_BZIP2) := bz2 18suffix-$(CONFIG_KERNEL_LZMA) := lzma 19suffix-$(CONFIG_KERNEL_LZO) := lzo 20suffix-$(CONFIG_KERNEL_LZ4) := lz4 21suffix-$(CONFIG_KERNEL_ZSTD) := zst 22 23targets += vmlinux.bin 24quiet_cmd_bin = OBJCOPY $@ 25 cmd_bin = $(OBJCOPY) -O binary $(strip-flags) $(VMLINUX) $@ 26$(obj)/vmlinux.bin: $(VMLINUX) FORCE 27 $(call if_changed,bin) 28 29# 30# Compressed vmlinux images 31# 32 33extra-y += vmlinux.bin.gz 34extra-y += vmlinux.bin.bz2 35extra-y += vmlinux.bin.lzma 36extra-y += vmlinux.bin.lzo 37extra-y += vmlinux.bin.lz4 38extra-y += vmlinux.bin.zst 39 40$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE 41 $(call if_changed,bzip2) 42 43$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE 44 $(call if_changed,gzip) 45 46$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE 47 $(call if_changed,lzma) 48 49$(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE 50 $(call if_changed,lzo) 51 52$(obj)/vmlinux.bin.lz4: $(obj)/vmlinux.bin FORCE 53 $(call if_changed,lz4) 54 55$(obj)/vmlinux.bin.zst: $(obj)/vmlinux.bin FORCE 56 $(call if_changed,zst22) 57