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