Makefile 1.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#
# This file is subject to the terms and conditions of the GNU General Public
# License.  See the file "COPYING" in the main directory of this archive
# for more details.
#

GZIP = gzip
GZIP_FLAGS = -v9fc

ifeq ($(BIG_ENDIAN),1)
OBJCOPY_ARGS    := -O elf32-xtensa-be
else
OBJCOPY_ARGS    := -O elf32-xtensa-le
endif

export OBJCOPY_ARGS
17
export CPPFLAGS_boot.lds += -P -C
18 19 20 21 22

boot-y		:= bootstrap.o

OBJS		:= $(addprefix $(obj)/,$(boot-y))

23
Image:	vmlinux $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
24
	$(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
25 26 27 28 29 30
		vmlinux vmlinux.tmp
	$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
		--add-section image=vmlinux.tmp \
		--set-section-flags image=contents,alloc,load,load,data \
		$(OBJS) $@.tmp
	$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
31
		-T arch/$(ARCH)/boot/boot-elf/boot.lds \
32 33 34 35
		-o arch/$(ARCH)/boot/$@.elf $@.tmp
	rm -f $@.tmp vmlinux.tmp

Image.initrd:	vmlinux $(OBJS)
36
	$(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
37 38 39 40 41 42 43 44
		--add-section .initrd=arch/$(ARCH)/boot/ramdisk \
		--set-section-flags .initrd=contents,alloc,load,load,data \
		vmlinux vmlinux.tmp
	$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
		--add-section image=vmlinux.tmp \
		--set-section-flags image=contents,alloc,load,load,data \
		$(OBJS) $@.tmp
	$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
45
		-T $(srctree)/arch/$(ARCH)/boot/boot-elf/boot.ld \
46 47 48 49 50 51 52 53
		-o arch/$(ARCH)/boot/$@.elf $@.tmp
	rm -f $@.tmp vmlinux.tmp


zImage:	Image

zImage.initrd:	Image.initrd