xref: /linux/arch/xtensa/boot/boot-elf/Makefile (revision 4bedea94545165364618d403d03b61d797acba0b)
1*4bedea94SChris Zankel#
2*4bedea94SChris Zankel# This file is subject to the terms and conditions of the GNU General Public
3*4bedea94SChris Zankel# License.  See the file "COPYING" in the main directory of this archive
4*4bedea94SChris Zankel# for more details.
5*4bedea94SChris Zankel#
6*4bedea94SChris Zankel
7*4bedea94SChris ZankelGZIP = gzip
8*4bedea94SChris ZankelGZIP_FLAGS = -v9fc
9*4bedea94SChris Zankel
10*4bedea94SChris Zankelifeq ($(BIG_ENDIAN),1)
11*4bedea94SChris ZankelOBJCOPY_ARGS    := -O elf32-xtensa-be
12*4bedea94SChris Zankelelse
13*4bedea94SChris ZankelOBJCOPY_ARGS    := -O elf32-xtensa-le
14*4bedea94SChris Zankelendif
15*4bedea94SChris Zankel
16*4bedea94SChris Zankelexport OBJCOPY_ARGS
17*4bedea94SChris Zankel
18*4bedea94SChris Zankelboot-y		:= bootstrap.o
19*4bedea94SChris Zankel
20*4bedea94SChris ZankelOBJS		:= $(addprefix $(obj)/,$(boot-y))
21*4bedea94SChris Zankel
22*4bedea94SChris ZankelImage:	vmlinux $(OBJS)
23*4bedea94SChris Zankel	$(OBJCOPY) --strip-all -R .comment -R .xt.insn -O binary \
24*4bedea94SChris Zankel		vmlinux vmlinux.tmp
25*4bedea94SChris Zankel	$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
26*4bedea94SChris Zankel		--add-section image=vmlinux.tmp \
27*4bedea94SChris Zankel		--set-section-flags image=contents,alloc,load,load,data \
28*4bedea94SChris Zankel		$(OBJS) $@.tmp
29*4bedea94SChris Zankel	$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
30*4bedea94SChris Zankel		-T arch/$(ARCH)/boot/boot-elf/boot.ld \
31*4bedea94SChris Zankel		-o arch/$(ARCH)/boot/$@.elf $@.tmp
32*4bedea94SChris Zankel	rm -f $@.tmp vmlinux.tmp
33*4bedea94SChris Zankel
34*4bedea94SChris ZankelImage.initrd:	vmlinux $(OBJS)
35*4bedea94SChris Zankel	$(OBJCOPY) --strip-all -R .comment -R .xt.insn -O binary \
36*4bedea94SChris Zankel		--add-section .initrd=arch/$(ARCH)/boot/ramdisk \
37*4bedea94SChris Zankel		--set-section-flags .initrd=contents,alloc,load,load,data \
38*4bedea94SChris Zankel		vmlinux vmlinux.tmp
39*4bedea94SChris Zankel	$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
40*4bedea94SChris Zankel		--add-section image=vmlinux.tmp \
41*4bedea94SChris Zankel		--set-section-flags image=contents,alloc,load,load,data \
42*4bedea94SChris Zankel		$(OBJS) $@.tmp
43*4bedea94SChris Zankel	$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
44*4bedea94SChris Zankel		-T arch/$(ARCH)/boot/boot-elf/boot.ld \
45*4bedea94SChris Zankel		-o arch/$(ARCH)/boot/$@.elf $@.tmp
46*4bedea94SChris Zankel	rm -f $@.tmp vmlinux.tmp
47*4bedea94SChris Zankel
48*4bedea94SChris Zankel
49*4bedea94SChris ZankelzImage:	Image
50*4bedea94SChris Zankel
51*4bedea94SChris ZankelzImage.initrd:	Image.initrd
52*4bedea94SChris Zankel
53