2005-04-16 15:20:36 -07:00
#
# linux/arch/arm/boot/compressed/Makefile
#
# create a compressed vmlinuz image from the original vmlinux
#
HEAD = head.o
OBJS = misc.o
2007-06-03 18:54:42 +01:00
FONTC = $( srctree) /drivers/video/console/font_acorn_8x8.c
2005-04-16 15:20:36 -07:00
#
# Architecture dependencies
#
i f e q ( $( CONFIG_ARCH_ACORN ) , y )
2007-06-03 18:54:42 +01:00
OBJS += ll_char_wr.o font.o
2005-04-16 15:20:36 -07:00
e n d i f
i f e q ( $( CONFIG_ARCH_SHARK ) , y )
OBJS += head-shark.o ofw-shark.o
e n d i f
i f e q ( $( CONFIG_ARCH_L 7200) , y )
OBJS += head-l7200.o
e n d i f
i f e q ( $( CONFIG_ARCH_CLPS 7500) , y )
HEAD = head-clps7500.o
e n d i f
i f e q ( $( CONFIG_ARCH_P 720T ) , y )
# Borrow this code from SA1100
OBJS += head-sa1100.o
e n d i f
i f e q ( $( CONFIG_ARCH_SA 1100) , y )
OBJS += head-sa1100.o
e n d i f
i f e q ( $( CONFIG_CPU_XSCALE ) , y )
OBJS += head-xscale.o
e n d i f
i f e q ( $( CONFIG_PXA_SHARPSL ) , y )
OBJS += head-sharpsl.o
e n d i f
i f e q ( $( CONFIG_CPU_BIG_ENDIAN ) , y )
2006-09-26 17:36:37 +09:00
i f e q ( $( CONFIG_CPU_CP 15) , y )
2005-04-16 15:20:36 -07:00
OBJS += big-endian.o
2006-09-26 17:36:37 +09:00
e l s e
# The endian should be set by h/w design.
e n d i f
2005-04-16 15:20:36 -07:00
e n d i f
#
# We now have a PIC decompressor implementation. Decompressors running
# from RAM should not define ZTEXTADDR. Decompressors running directly
# from ROM or Flash must define ZTEXTADDR (preferably via the config)
# FIXME: Previous assignment to ztextaddr-y is lost here. See SHARK
i f e q ( $( CONFIG_ZBOOT_ROM ) , y )
ZTEXTADDR := $( CONFIG_ZBOOT_ROM_TEXT)
ZBSSADDR := $( CONFIG_ZBOOT_ROM_BSS)
e l s e
ZTEXTADDR := 0
ZBSSADDR := ALIGN( 4)
e n d i f
SEDFLAGS = s/TEXT_START/$( ZTEXTADDR) /; s/BSS_START/$( ZBSSADDR) /
2007-06-03 18:54:42 +01:00
targets := vmlinux vmlinux.lds piggy.gz piggy.o font.o font.c \
2005-04-16 15:20:36 -07:00
head.o misc.o $( OBJS)
2008-05-31 14:23:50 +05:30
i f e q ( $( CONFIG_FTRACE ) , y )
ORIG_CFLAGS := $( KBUILD_CFLAGS)
KBUILD_CFLAGS = $( subst -pg, , $( ORIG_CFLAGS) )
e n d i f
2007-07-11 11:29:28 +01:00
EXTRA_CFLAGS := -fpic -fno-builtin
2005-04-16 15:20:36 -07:00
EXTRA_AFLAGS :=
# Supply ZRELADDR, INITRD_PHYS and PARAMS_PHYS to the decompressor via
# linker symbols. We only define initrd_phys and params_phys if the
# machine class defined the corresponding makefile variable.
LDFLAGS_vmlinux := --defsym zreladdr = $( ZRELADDR)
i f n e q ( $( INITRD_PHYS ) , )
LDFLAGS_vmlinux += --defsym initrd_phys = $( INITRD_PHYS)
e n d i f
i f n e q ( $( PARAMS_PHYS ) , )
LDFLAGS_vmlinux += --defsym params_phys = $( PARAMS_PHYS)
e n d i f
LDFLAGS_vmlinux += -p --no-undefined -X \
2007-10-14 22:21:35 +02:00
$( shell $( CC) $( KBUILD_CFLAGS) --print-libgcc-file-name) -T
2005-04-16 15:20:36 -07:00
# Don't allow any static data in misc.o, which
# would otherwise mess up our GOT table
CFLAGS_misc.o := -Dstatic=
$(obj)/vmlinux : $( obj ) /vmlinux .lds $( obj ) /$( HEAD ) $( obj ) /piggy .o \
$( addprefix $( obj) /, $( OBJS) ) FORCE
$( call if_changed,ld)
@:
$(obj)/piggy.gz : $( obj ) /../Image FORCE
$( call if_changed,gzip)
$(obj)/piggy.o : $( obj ) /piggy .gz FORCE
2007-06-03 18:54:42 +01:00
CFLAGS_font.o := -Dstatic=
$(obj)/font.c : $( FONTC )
$( call cmd,shipped)
2005-04-16 15:20:36 -07:00
$(obj)/vmlinux.lds : $( obj ) /vmlinux .lds .in arch /arm /boot /Makefile .config
@sed " $( SEDFLAGS) " < $< > $@