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
164bedea94SChris Zankel
174bedea94SChris ZankelOBJS	:= $(addprefix $(obj)/,$(boot-y))
18e7d163f7SChris ZankelLIBS	:= arch/xtensa/boot/lib/lib.a arch/xtensa/lib/lib.a
194bedea94SChris Zankel
20a0f97e06SSam RavnborgLIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
214bedea94SChris Zankel
223f5ec298SMax Filippov$(obj)/zImage.o: vmlinux.bin.gz $(OBJS)
233f5ec298SMax Filippov	$(Q)$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
243f5ec298SMax Filippov		--add-section image=vmlinux.bin.gz \
254bedea94SChris Zankel		--set-section-flags image=contents,alloc,load,load,data \
263f5ec298SMax Filippov		$(OBJS) $@
273f5ec298SMax Filippov
283f5ec298SMax Filippov$(obj)/zImage.elf: $(obj)/zImage.o $(LIBS)
293f5ec298SMax Filippov	$(Q)$(LD) $(LD_ARGS) -o $@ $^ -L/xtensa-elf/lib $(LIBGCC)
303f5ec298SMax Filippov
313f5ec298SMax Filippov$(obj)/../zImage.redboot: $(obj)/zImage.elf
323f5ec298SMax Filippov	$(Q)$(OBJCOPY) -S -O binary $< $@
333f5ec298SMax Filippov	$(Q)$(kecho) '  Kernel: $@ is ready'
343f5ec298SMax Filippov
359a736fcbSMax Filippovall zImage: $(obj)/../zImage.redboot
36