xref: /linux/arch/xtensa/boot/boot-elf/Makefile (revision 36dffadb7f19671aab58be43c5896ea87d5fb1bf)
14bedea94SChris Zankel#
24bedea94SChris Zankel# This file is subject to the terms and conditions of the GNU General Public
34bedea94SChris Zankel# License.  See the file "COPYING" in the main directory of this archive
44bedea94SChris Zankel# for more details.
54bedea94SChris Zankel#
64bedea94SChris Zankel
74bedea94SChris ZankelGZIP = gzip
84bedea94SChris ZankelGZIP_FLAGS = -v9fc
94bedea94SChris Zankel
104bedea94SChris Zankelifeq ($(BIG_ENDIAN),1)
114bedea94SChris ZankelOBJCOPY_ARGS    := -O elf32-xtensa-be
124bedea94SChris Zankelelse
134bedea94SChris ZankelOBJCOPY_ARGS    := -O elf32-xtensa-le
144bedea94SChris Zankelendif
154bedea94SChris Zankel
164bedea94SChris Zankelexport OBJCOPY_ARGS
17*36dffadbSChris Zankelexport CPPFLAGS_boot.lds += -P -C
184bedea94SChris Zankel
194bedea94SChris Zankelboot-y		:= bootstrap.o
204bedea94SChris Zankel
214bedea94SChris ZankelOBJS		:= $(addprefix $(obj)/,$(boot-y))
224bedea94SChris Zankel
23*36dffadbSChris ZankelImage:	vmlinux $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
244bedea94SChris Zankel	$(OBJCOPY) --strip-all -R .comment -R .xt.insn -O binary \
254bedea94SChris Zankel		vmlinux vmlinux.tmp
264bedea94SChris Zankel	$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
274bedea94SChris Zankel		--add-section image=vmlinux.tmp \
284bedea94SChris Zankel		--set-section-flags image=contents,alloc,load,load,data \
294bedea94SChris Zankel		$(OBJS) $@.tmp
304bedea94SChris Zankel	$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
31*36dffadbSChris Zankel		-T arch/$(ARCH)/boot/boot-elf/boot.lds \
324bedea94SChris Zankel		-o arch/$(ARCH)/boot/$@.elf $@.tmp
334bedea94SChris Zankel	rm -f $@.tmp vmlinux.tmp
344bedea94SChris Zankel
354bedea94SChris ZankelImage.initrd:	vmlinux $(OBJS)
364bedea94SChris Zankel	$(OBJCOPY) --strip-all -R .comment -R .xt.insn -O binary \
374bedea94SChris Zankel		--add-section .initrd=arch/$(ARCH)/boot/ramdisk \
384bedea94SChris Zankel		--set-section-flags .initrd=contents,alloc,load,load,data \
394bedea94SChris Zankel		vmlinux vmlinux.tmp
404bedea94SChris Zankel	$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
414bedea94SChris Zankel		--add-section image=vmlinux.tmp \
424bedea94SChris Zankel		--set-section-flags image=contents,alloc,load,load,data \
434bedea94SChris Zankel		$(OBJS) $@.tmp
444bedea94SChris Zankel	$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
45e7d163f7SChris Zankel		-T $(srctree)/arch/$(ARCH)/boot/boot-elf/boot.ld \
464bedea94SChris Zankel		-o arch/$(ARCH)/boot/$@.elf $@.tmp
474bedea94SChris Zankel	rm -f $@.tmp vmlinux.tmp
484bedea94SChris Zankel
494bedea94SChris Zankel
504bedea94SChris ZankelzImage:	Image
514bedea94SChris Zankel
524bedea94SChris ZankelzImage.initrd:	Image.initrd
534bedea94SChris Zankel
54