| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 1 | # | 
 | 2 | # linux/arch/sh/boot/compressed/Makefile | 
 | 3 | # | 
 | 4 | # create a compressed vmlinux image from the original vmlinux | 
 | 5 | # | 
 | 6 |  | 
 | 7 | targets		:= vmlinux vmlinux.bin vmlinux.bin.gz \ | 
| Paul Mundt | 07e88e1 | 2009-07-11 13:21:19 -0400 | [diff] [blame] | 8 | 		   vmlinux.bin.bz2 vmlinux.bin.lzma \ | 
| Paul Mundt | 50cfa79 | 2011-01-14 15:52:54 +0900 | [diff] [blame] | 9 | 		   vmlinux.bin.xz vmlinux.bin.lzo \ | 
| Paul Mundt | 59f0029 | 2009-07-11 13:32:24 -0400 | [diff] [blame] | 10 | 		   head_$(BITS).o misc.o piggy.o | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 11 |  | 
| Paul Mundt | 59f0029 | 2009-07-11 13:32:24 -0400 | [diff] [blame] | 12 | OBJECTS = $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/cache.o | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 13 |  | 
| Chris Smith | d4f7e51 | 2010-11-12 16:26:54 +0100 | [diff] [blame] | 14 | GCOV_PROFILE := n | 
 | 15 |  | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 16 | # | 
 | 17 | # IMAGE_OFFSET is the load offset of the compression loader | 
 | 18 | # | 
| Matt Fleming | 9c3d936 | 2010-04-24 13:34:44 +0100 | [diff] [blame] | 19 | ifeq ($(CONFIG_32BIT),y) | 
 | 20 | IMAGE_OFFSET	:= $(shell /bin/bash -c 'printf "0x%08x" \ | 
 | 21 | 		     $$[$(CONFIG_MEMORY_START)  + \ | 
 | 22 | 			$(CONFIG_BOOT_LINK_OFFSET)]') | 
 | 23 | else | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 24 | IMAGE_OFFSET	:= $(shell /bin/bash -c 'printf "0x%08x" \ | 
 | 25 | 		     $$[$(CONFIG_PAGE_OFFSET)  + \ | 
 | 26 | 			$(KERNEL_MEMORY) + \ | 
 | 27 | 			$(CONFIG_BOOT_LINK_OFFSET)]') | 
| Matt Fleming | 9c3d936 | 2010-04-24 13:34:44 +0100 | [diff] [blame] | 28 | endif | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 29 |  | 
| Paul Mundt | 473d1cf | 2009-07-11 19:56:58 +0900 | [diff] [blame] | 30 | ifeq ($(CONFIG_MCOUNT),y) | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 31 | ORIG_CFLAGS := $(KBUILD_CFLAGS) | 
 | 32 | KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) | 
 | 33 | endif | 
 | 34 |  | 
 | 35 | LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \ | 
 | 36 | 		   -T $(obj)/../../kernel/vmlinux.lds | 
 | 37 |  | 
| Paul Mundt | 363e9f0 | 2011-06-06 17:57:58 +0900 | [diff] [blame] | 38 | # | 
 | 39 | # Pull in the necessary libgcc bits from the in-kernel implementation. | 
 | 40 | # | 
 | 41 | lib1funcs-$(CONFIG_SUPERH32)	:= ashiftrt.S ashldi3.c ashrsi3.S ashlsi3.S \ | 
 | 42 | 				   lshrsi3.S | 
 | 43 | lib1funcs-obj			:= \ | 
 | 44 | 	$(addsuffix .o, $(basename $(addprefix $(obj)/, $(lib1funcs-y)))) | 
 | 45 |  | 
 | 46 | lib1funcs-dir		:= $(srctree)/arch/$(SRCARCH)/lib | 
 | 47 | ifeq ($(BITS),64) | 
 | 48 | 	lib1funcs-dir 	:= $(addsuffix $(BITS), $(lib1funcs-dir)) | 
 | 49 | endif | 
 | 50 |  | 
 | 51 | KBUILD_CFLAGS += -I$(lib1funcs-dir) | 
 | 52 |  | 
 | 53 | $(addprefix $(obj)/,$(lib1funcs-y)): $(obj)/%: $(lib1funcs-dir)/% FORCE | 
 | 54 | 	$(call cmd,shipped) | 
 | 55 |  | 
 | 56 | $(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(lib1funcs-obj) FORCE | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 57 | 	$(call if_changed,ld) | 
 | 58 | 	@: | 
 | 59 |  | 
 | 60 | $(obj)/vmlinux.bin: vmlinux FORCE | 
 | 61 | 	$(call if_changed,objcopy) | 
 | 62 |  | 
| Paul Mundt | 07e88e1 | 2009-07-11 13:21:19 -0400 | [diff] [blame] | 63 | vmlinux.bin.all-y := $(obj)/vmlinux.bin | 
 | 64 |  | 
 | 65 | $(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y) FORCE | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 66 | 	$(call if_changed,gzip) | 
| Paul Mundt | 07e88e1 | 2009-07-11 13:21:19 -0400 | [diff] [blame] | 67 | $(obj)/vmlinux.bin.bz2: $(vmlinux.bin.all-y) FORCE | 
 | 68 | 	$(call if_changed,bzip2) | 
 | 69 | $(obj)/vmlinux.bin.lzma: $(vmlinux.bin.all-y) FORCE | 
 | 70 | 	$(call if_changed,lzma) | 
| Paul Mundt | 50cfa79 | 2011-01-14 15:52:54 +0900 | [diff] [blame] | 71 | $(obj)/vmlinux.bin.xz: $(vmlinux.bin.all-y) FORCE | 
 | 72 | 	$(call if_changed,xzkern) | 
| Paul Mundt | c7b16ef | 2010-01-13 13:29:19 +0900 | [diff] [blame] | 73 | $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.all-y) FORCE | 
 | 74 | 	$(call if_changed,lzo) | 
| Paul Mundt | 07e88e1 | 2009-07-11 13:21:19 -0400 | [diff] [blame] | 75 |  | 
| Paul Mundt | 1eca133 | 2009-05-10 00:58:21 +0900 | [diff] [blame] | 76 | OBJCOPYFLAGS += -R .empty_zero_page | 
 | 77 |  | 
| Paul Mundt | 07e88e1 | 2009-07-11 13:21:19 -0400 | [diff] [blame] | 78 | LDFLAGS_piggy.o := -r --format binary --oformat $(ld-bfd) -T | 
 | 79 |  | 
 | 80 | $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE | 
 | 81 | 	$(call if_changed,ld) |