Commit | Line | Data |
---|---|---|
1eca133c PM |
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 \ | |
07e88e1b | 8 | vmlinux.bin.bz2 vmlinux.bin.lzma \ |
50cfa79d | 9 | vmlinux.bin.xz vmlinux.bin.lzo \ |
59f00296 | 10 | head_$(BITS).o misc.o piggy.o |
1eca133c | 11 | |
59f00296 | 12 | OBJECTS = $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/cache.o |
1eca133c | 13 | |
d4f7e513 CS |
14 | GCOV_PROFILE := n |
15 | ||
1eca133c PM |
16 | # |
17 | # IMAGE_OFFSET is the load offset of the compression loader | |
18 | # | |
9c3d9363 MF |
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 | |
1eca133c PM |
24 | IMAGE_OFFSET := $(shell /bin/bash -c 'printf "0x%08x" \ |
25 | $$[$(CONFIG_PAGE_OFFSET) + \ | |
26 | $(KERNEL_MEMORY) + \ | |
27 | $(CONFIG_BOOT_LINK_OFFSET)]') | |
9c3d9363 | 28 | endif |
1eca133c | 29 | |
473d1cf4 | 30 | ifeq ($(CONFIG_MCOUNT),y) |
1eca133c PM |
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 | ||
363e9f05 PM |
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 | |
1eca133c PM |
57 | $(call if_changed,ld) |
58 | @: | |
59 | ||
60 | $(obj)/vmlinux.bin: vmlinux FORCE | |
61 | $(call if_changed,objcopy) | |
62 | ||
07e88e1b PM |
63 | vmlinux.bin.all-y := $(obj)/vmlinux.bin |
64 | ||
65 | $(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y) FORCE | |
1eca133c | 66 | $(call if_changed,gzip) |
07e88e1b PM |
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) | |
50cfa79d PM |
71 | $(obj)/vmlinux.bin.xz: $(vmlinux.bin.all-y) FORCE |
72 | $(call if_changed,xzkern) | |
c7b16efb PM |
73 | $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.all-y) FORCE |
74 | $(call if_changed,lzo) | |
07e88e1b | 75 | |
1eca133c PM |
76 | OBJCOPYFLAGS += -R .empty_zero_page |
77 | ||
07e88e1b PM |
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) |