2 # linux/arch/sh/boot/compressed/Makefile
4 # create a compressed vmlinux image from the original vmlinux
7 targets
:= vmlinux vmlinux.bin vmlinux.bin.gz \
8 vmlinux.bin.bz2 vmlinux.bin.lzma \
10 head_
$(BITS
).o misc.o piggy.o
12 OBJECTS
= $(obj
)/head_
$(BITS
).o
$(obj
)/misc.o
$(obj
)/cache.o
15 # IMAGE_OFFSET is the load offset of the compression loader
17 ifeq ($(CONFIG_32BIT
),y
)
18 IMAGE_OFFSET
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
19 $$[$(CONFIG_MEMORY_START) + \
20 $(CONFIG_BOOT_LINK_OFFSET)]')
22 IMAGE_OFFSET
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
23 $$[$(CONFIG_PAGE_OFFSET) + \
25 $(CONFIG_BOOT_LINK_OFFSET)]')
28 LIBGCC
:= $(shell $(CC
) $(KBUILD_CFLAGS
) -print-libgcc-file-name
)
30 ifeq ($(CONFIG_MCOUNT
),y
)
31 ORIG_CFLAGS
:= $(KBUILD_CFLAGS
)
32 KBUILD_CFLAGS
= $(subst -pg
, , $(ORIG_CFLAGS
))
35 LDFLAGS_vmlinux
:= --oformat
$(ld-bfd
) -Ttext
$(IMAGE_OFFSET
) -e startup \
36 -T
$(obj
)/..
/..
/kernel
/vmlinux.lds
38 $(obj
)/vmlinux
: $(OBJECTS
) $(obj
)/piggy.o
$(LIBGCC
) FORCE
42 $(obj
)/vmlinux.bin
: vmlinux FORCE
43 $(call if_changed
,objcopy
)
45 vmlinux.bin.all-y
:= $(obj
)/vmlinux.bin
47 $(obj
)/vmlinux.bin.gz
: $(vmlinux.bin.all-y
) FORCE
48 $(call if_changed
,gzip
)
49 $(obj
)/vmlinux.bin.bz2
: $(vmlinux.bin.all-y
) FORCE
50 $(call if_changed
,bzip2
)
51 $(obj
)/vmlinux.bin.lzma
: $(vmlinux.bin.all-y
) FORCE
52 $(call if_changed
,lzma
)
53 $(obj
)/vmlinux.bin.lzo
: $(vmlinux.bin.all-y
) FORCE
54 $(call if_changed
,lzo
)
56 OBJCOPYFLAGS
+= -R .empty_zero_page
58 LDFLAGS_piggy.o
:= -r
--format binary
--oformat
$(ld-bfd
) -T
60 $(obj
)/piggy.o
: $(obj
)/vmlinux.scr
$(obj
)/vmlinux.bin.
$(suffix-y
) FORCE