Merge branch 'master' of git://oss.sgi.com/xfs/xfs into for-linus
[linux-2.6] / arch / sh / boot / compressed / Makefile
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 \
8                    head_$(BITS).o misc_$(BITS).o piggy.o
9
10 OBJECTS = $(obj)/head_$(BITS).o $(obj)/misc_$(BITS).o $(obj)/cache.o
11
12 ifdef CONFIG_SH_STANDARD_BIOS
13 OBJECTS += $(obj)/../../kernel/sh_bios.o
14 endif
15
16 #
17 # IMAGE_OFFSET is the load offset of the compression loader
18 #
19 IMAGE_OFFSET    := $(shell /bin/bash -c 'printf "0x%08x" \
20                      $$[$(CONFIG_PAGE_OFFSET)  + \
21                         $(KERNEL_MEMORY) + \
22                         $(CONFIG_BOOT_LINK_OFFSET)]')
23
24 LIBGCC  := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
25
26 ifeq ($(CONFIG_FUNCTION_TRACER),y)
27 ORIG_CFLAGS := $(KBUILD_CFLAGS)
28 KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
29 endif
30
31 LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \
32                    -T $(obj)/../../kernel/vmlinux.lds
33
34 $(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(LIBGCC) FORCE
35         $(call if_changed,ld)
36         @:
37
38 $(obj)/vmlinux.bin: vmlinux FORCE
39         $(call if_changed,objcopy)
40
41 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
42         $(call if_changed,gzip)
43
44 OBJCOPYFLAGS += -R .empty_zero_page
45
46 $(obj)/piggy.o: $(obj)/piggy.S $(obj)/vmlinux.bin.gz FORCE
47         $(call if_changed,as_o_S)