162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# linux/arch/sh/boot/compressed/Makefile
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci# create a compressed vmlinux image from the original vmlinux
662306a36Sopenharmony_ci#
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciOBJECTS := head_32.o misc.o cache.o piggy.o \
962306a36Sopenharmony_ci           ashiftrt.o ashldi3.o ashrsi3.o ashlsi3.o lshrsi3.o
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_citargets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 \
1262306a36Sopenharmony_ci           vmlinux.bin.lzma vmlinux.bin.xz vmlinux.bin.lzo $(OBJECTS)
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciGCOV_PROFILE := n
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#
1762306a36Sopenharmony_ci# IMAGE_OFFSET is the load offset of the compression loader
1862306a36Sopenharmony_ci#
1962306a36Sopenharmony_ciifeq ($(CONFIG_32BIT),y)
2062306a36Sopenharmony_ciIMAGE_OFFSET	:= $(shell /bin/bash -c 'printf "0x%08x" \
2162306a36Sopenharmony_ci		     $$[$(CONFIG_MEMORY_START)  + \
2262306a36Sopenharmony_ci			$(CONFIG_BOOT_LINK_OFFSET)]')
2362306a36Sopenharmony_cielse
2462306a36Sopenharmony_ciIMAGE_OFFSET	:= $(shell /bin/bash -c 'printf "0x%08x" \
2562306a36Sopenharmony_ci		     $$[$(CONFIG_PAGE_OFFSET)  + \
2662306a36Sopenharmony_ci			$(KERNEL_MEMORY) + \
2762306a36Sopenharmony_ci			$(CONFIG_BOOT_LINK_OFFSET)]')
2862306a36Sopenharmony_ciendif
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciccflags-remove-$(CONFIG_MCOUNT) += -pg
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciLDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \
3362306a36Sopenharmony_ci		   -T $(obj)/../../kernel/vmlinux.lds
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciKBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci$(obj)/vmlinux: $(addprefix $(obj)/, $(OBJECTS)) FORCE
3862306a36Sopenharmony_ci	$(call if_changed,ld)
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci$(obj)/vmlinux.bin: vmlinux FORCE
4162306a36Sopenharmony_ci	$(call if_changed,objcopy)
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
4462306a36Sopenharmony_ci	$(call if_changed,gzip)
4562306a36Sopenharmony_ci$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
4662306a36Sopenharmony_ci	$(call if_changed,bzip2_with_size)
4762306a36Sopenharmony_ci$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
4862306a36Sopenharmony_ci	$(call if_changed,lzma_with_size)
4962306a36Sopenharmony_ci$(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE
5062306a36Sopenharmony_ci	$(call if_changed,xzkern_with_size)
5162306a36Sopenharmony_ci$(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE
5262306a36Sopenharmony_ci	$(call if_changed,lzo_with_size)
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciOBJCOPYFLAGS += -R .empty_zero_page
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciLDFLAGS_piggy.o := -r --format binary --oformat $(ld-bfd) -T
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
5962306a36Sopenharmony_ci	$(call if_changed,ld)
60