162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# linux/arch/parisc/boot/compressed/Makefile 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci# create a compressed self-extracting vmlinux image from the original vmlinux 662306a36Sopenharmony_ci# 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciKCOV_INSTRUMENT := n 962306a36Sopenharmony_ciGCOV_PROFILE := n 1062306a36Sopenharmony_ciUBSAN_SANITIZE := n 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciOBJECTS := head.o real2.o firmware.o misc.o piggy.o 1362306a36Sopenharmony_citargets := vmlinux.lds vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 1462306a36Sopenharmony_citargets += vmlinux.bin.xz vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.lz4 1562306a36Sopenharmony_citargets += $(OBJECTS) sizes.h 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciKBUILD_CFLAGS := -D__KERNEL__ -O2 -DBOOTLOADER 1862306a36Sopenharmony_ciKBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING 1962306a36Sopenharmony_ciKBUILD_CFLAGS += -fno-strict-aliasing 2062306a36Sopenharmony_ciKBUILD_CFLAGS += $(cflags-y) -fno-delete-null-pointer-checks -fno-builtin-printf 2162306a36Sopenharmony_ciKBUILD_CFLAGS += -fno-PIE -mno-space-regs -mdisable-fpregs -Os 2262306a36Sopenharmony_ciifndef CONFIG_64BIT 2362306a36Sopenharmony_ciKBUILD_CFLAGS += -mfast-indirect-calls 2462306a36Sopenharmony_ciendif 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciLDFLAGS_vmlinux := -X -e startup --as-needed -T 2762306a36Sopenharmony_ci$(obj)/vmlinux: $(obj)/vmlinux.lds $(addprefix $(obj)/, $(OBJECTS)) $(LIBGCC) FORCE 2862306a36Sopenharmony_ci $(call if_changed,ld) 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_cised-sizes := -e 's/^\([0-9a-fA-F]*\) . \(__bss_start\|_end\|parisc_kernel_start\)$$/\#define SZ\2 0x\1/p' 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciquiet_cmd_sizes = GEN $@ 3362306a36Sopenharmony_ci cmd_sizes = $(NM) $< | sed -n $(sed-sizes) > $@ 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci$(obj)/sizes.h: vmlinux FORCE 3662306a36Sopenharmony_ci $(call if_changed,sizes) 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciAFLAGS_head.o += -I$(objtree)/$(obj) -DBOOTLOADER 3962306a36Sopenharmony_ci$(obj)/head.o: $(obj)/sizes.h 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciCFLAGS_misc.o += -I$(objtree)/$(obj) 4262306a36Sopenharmony_ci$(obj)/misc.o: $(obj)/sizes.h 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciAFLAGS_real2.o += -DBOOTLOADER 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciCPPFLAGS_vmlinux.lds += -I$(objtree)/$(obj) -DBOOTLOADER 4762306a36Sopenharmony_ci$(obj)/vmlinux.lds: $(obj)/sizes.h 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciOBJCOPYFLAGS_vmlinux.bin := -R .comment -R .note -S 5062306a36Sopenharmony_ci$(obj)/vmlinux.bin: vmlinux FORCE 5162306a36Sopenharmony_ci $(call if_changed,objcopy) 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_cisuffix-$(CONFIG_KERNEL_GZIP) := gz 5462306a36Sopenharmony_cisuffix-$(CONFIG_KERNEL_BZIP2) := bz2 5562306a36Sopenharmony_cisuffix-$(CONFIG_KERNEL_LZ4) := lz4 5662306a36Sopenharmony_cisuffix-$(CONFIG_KERNEL_LZMA) := lzma 5762306a36Sopenharmony_cisuffix-$(CONFIG_KERNEL_LZO) := lzo 5862306a36Sopenharmony_cisuffix-$(CONFIG_KERNEL_XZ) := xz 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE 6162306a36Sopenharmony_ci $(call if_changed,gzip) 6262306a36Sopenharmony_ci$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE 6362306a36Sopenharmony_ci $(call if_changed,bzip2_with_size) 6462306a36Sopenharmony_ci$(obj)/vmlinux.bin.lz4: $(obj)/vmlinux.bin FORCE 6562306a36Sopenharmony_ci $(call if_changed,lz4_with_size) 6662306a36Sopenharmony_ci$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE 6762306a36Sopenharmony_ci $(call if_changed,lzma_with_size) 6862306a36Sopenharmony_ci$(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE 6962306a36Sopenharmony_ci $(call if_changed,lzo_with_size) 7062306a36Sopenharmony_ci$(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE 7162306a36Sopenharmony_ci $(call if_changed,xzkern_with_size) 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciLDFLAGS_piggy.o := -r --format binary --oformat $(LD_BFD) -T 7462306a36Sopenharmony_ci$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE 7562306a36Sopenharmony_ci $(call if_changed,ld) 76