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 Zankelifeq ($(BIG_ENDIAN),1)
84bedea94SChris ZankelOBJCOPY_ARGS 	:= -O elf32-xtensa-be
94bedea94SChris Zankelelse
104bedea94SChris ZankelOBJCOPY_ARGS 	:= -O elf32-xtensa-le
114bedea94SChris Zankelendif
124bedea94SChris Zankel
13e7d163f7SChris ZankelLD_ARGS	= -T $(srctree)/$(obj)/boot.ld
144bedea94SChris Zankel
154bedea94SChris Zankelboot-y	:= bootstrap.o
168824c1afSMasahiro Yamadatargets	+= $(boot-y)
174bedea94SChris Zankel
184bedea94SChris ZankelOBJS	:= $(addprefix $(obj)/,$(boot-y))
19e7d163f7SChris ZankelLIBS	:= arch/xtensa/boot/lib/lib.a arch/xtensa/lib/lib.a
204bedea94SChris Zankel
21a0f97e06SSam RavnborgLIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
224bedea94SChris Zankel
2365898b37SMax Filippov$(obj)/zImage.o: $(obj)/../vmlinux.bin.gz $(OBJS)
243f5ec298SMax Filippov	$(Q)$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
2565898b37SMax Filippov		--add-section image=$< \
264bedea94SChris Zankel		--set-section-flags image=contents,alloc,load,load,data \
273f5ec298SMax Filippov		$(OBJS) $@
283f5ec298SMax Filippov
293f5ec298SMax Filippov$(obj)/zImage.elf: $(obj)/zImage.o $(LIBS)
303f5ec298SMax Filippov	$(Q)$(LD) $(LD_ARGS) -o $@ $^ -L/xtensa-elf/lib $(LIBGCC)
313f5ec298SMax Filippov
323f5ec298SMax Filippov$(obj)/../zImage.redboot: $(obj)/zImage.elf
333f5ec298SMax Filippov	$(Q)$(OBJCOPY) -S -O binary $< $@
343f5ec298SMax Filippov	$(Q)$(kecho) '  Kernel: $@ is ready'
353f5ec298SMax Filippov
369a736fcbSMax Filippovall zImage: $(obj)/../zImage.redboot
37