[XTENSA] Use preprocessor to generate the linker script for the ELF boot image
[pandora-kernel.git] / arch / xtensa / boot / boot-elf / Makefile
1 #
2 # This file is subject to the terms and conditions of the GNU General Public
3 # License.  See the file "COPYING" in the main directory of this archive
4 # for more details.
5 #
6
7 GZIP = gzip
8 GZIP_FLAGS = -v9fc
9
10 ifeq ($(BIG_ENDIAN),1)
11 OBJCOPY_ARGS    := -O elf32-xtensa-be
12 else
13 OBJCOPY_ARGS    := -O elf32-xtensa-le
14 endif
15
16 export OBJCOPY_ARGS
17 export CPPFLAGS_boot.lds += -P -C
18
19 boot-y          := bootstrap.o
20
21 OBJS            := $(addprefix $(obj)/,$(boot-y))
22
23 Image:  vmlinux $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
24         $(OBJCOPY) --strip-all -R .comment -R .xt.insn -O binary \
25                 vmlinux vmlinux.tmp
26         $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
27                 --add-section image=vmlinux.tmp \
28                 --set-section-flags image=contents,alloc,load,load,data \
29                 $(OBJS) $@.tmp
30         $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
31                 -T arch/$(ARCH)/boot/boot-elf/boot.lds \
32                 -o arch/$(ARCH)/boot/$@.elf $@.tmp
33         rm -f $@.tmp vmlinux.tmp
34
35 Image.initrd:   vmlinux $(OBJS)
36         $(OBJCOPY) --strip-all -R .comment -R .xt.insn -O binary \
37                 --add-section .initrd=arch/$(ARCH)/boot/ramdisk \
38                 --set-section-flags .initrd=contents,alloc,load,load,data \
39                 vmlinux vmlinux.tmp
40         $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
41                 --add-section image=vmlinux.tmp \
42                 --set-section-flags image=contents,alloc,load,load,data \
43                 $(OBJS) $@.tmp
44         $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
45                 -T $(srctree)/arch/$(ARCH)/boot/boot-elf/boot.ld \
46                 -o arch/$(ARCH)/boot/$@.elf $@.tmp
47         rm -f $@.tmp vmlinux.tmp
48
49
50 zImage: Image
51
52 zImage.initrd:  Image.initrd
53