11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# 2a556bec9955c8e47b40a87dbfeef6f24d3b2228fHirokazu Takata# linux/arch/m32r/boot/compressed/Makefile 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# create a compressed vmlinux image from the original vmlinux 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takatatargets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 \ 8337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takata vmlinux.bin.lzma head.o misc.o piggy.o vmlinux.lds 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsOBJECTS = $(obj)/head.o $(obj)/misc.o 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# IMAGE_OFFSET is the load offset of the compression loader 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#IMAGE_OFFSET := $(shell printf "0x%08x" $$[$(CONFIG_MEMORY_START)+0x2000]) 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#IMAGE_OFFSET := $(shell printf "0x%08x" $$[$(CONFIG_MEMORY_START)+0x00400000]) 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsLDFLAGS_vmlinux := -T 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds$(obj)/vmlinux: $(obj)/vmlinux.lds $(OBJECTS) $(obj)/piggy.o FORCE 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds $(call if_changed,ld) 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds @: 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds$(obj)/vmlinux.bin: vmlinux FORCE 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds $(call if_changed,objcopy) 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds $(call if_changed,gzip) 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 30337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takata$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE 31337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takata $(call if_changed,bzip2) 32337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takata 33337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takata$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE 34337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takata $(call if_changed,lzma) 35337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takata 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsCFLAGS_misc.o += -fpic 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsifdef CONFIG_MMU 391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsLDFLAGS_piggy.o := -r --format binary --oformat elf32-m32r-linux -T 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldselse 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsLDFLAGS_piggy.o := -r --format binary --oformat elf32-m32r -T 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsendif 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsOBJCOPYFLAGS += -R .empty_zero_page 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 46337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takatasuffix_$(CONFIG_KERNEL_GZIP) = gz 47337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takatasuffix_$(CONFIG_KERNEL_BZIP2) = bz2 48337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takatasuffix_$(CONFIG_KERNEL_LZMA) = lzma 49337214e8c6b0c777713b2483749f9c03102a416cHirokazu Takata 50a556bec9955c8e47b40a87dbfeef6f24d3b2228fHirokazu Takata$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds $(call if_changed,ld) 52