X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fboot%2Fcompressed%2FMakefile;h=dc06c210e1512efc724e8f83dce60e70161c83a5;hb=9c920a8402f2bb9bd931801d429b65f4eb6a262b;hp=951fbf6e81f8cf556d97c9510e624f36edebfd8c;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 951fbf6e8..dc06c210e 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -3,6 +3,9 @@ # # create a compressed vmlinuz image from the original vmlinux # +# Note! ZTEXTADDR, ZBSSADDR and ZRELADDR are now exported +# from arch/arm/boot/Makefile +# HEAD = head.o OBJS = misc.o @@ -13,6 +16,7 @@ FONTC = drivers/video/console/font_acorn_8x8.c # ifeq ($(CONFIG_ARCH_ACORN),y) OBJS += ll_char_wr.o font.o +CFLAGS_misc.o := -DPARAMS_PHYS=$(PARAMS_PHYS) endif ifeq ($(CONFIG_ARCH_SHARK),y) @@ -23,6 +27,10 @@ ifeq ($(CONFIG_ARCH_CAMELOT),y) OBJS += head-epxa10db.o endif +ifeq ($(CONFIG_ARCH_FTVPCI),y) +OBJS += head-ftvpci.o +endif + ifeq ($(CONFIG_ARCH_L7200),y) OBJS += head-l7200.o endif @@ -51,57 +59,36 @@ ifeq ($(CONFIG_DEBUG_ICEDCC),y) OBJS += ice-dcc.o endif -# -# 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 -ifeq ($(CONFIG_ZBOOT_ROM),y) -ZTEXTADDR := $(CONFIG_ZBOOT_ROM_TEXT) -ZBSSADDR := $(CONFIG_ZBOOT_ROM_BSS) -else -ZTEXTADDR := 0 -ZBSSADDR := ALIGN(4) -endif - -SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/ +SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/LOAD_ADDR/$(ZRELADDR)/;s/BSS_START/$(ZBSSADDR)/ -targets := vmlinux vmlinux.lds piggy.gz piggy.o font.o \ - head.o misc.o $(OBJS) +targets := vmlinux vmlinux.lds piggy piggy.gz piggy.o \ + font.o head.o $(OBJS) EXTRA_CFLAGS := -fpic 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) -ifneq ($(INITRD_PHYS),) -LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS) -endif -ifneq ($(PARAMS_PHYS),) -LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS) -endif -LDFLAGS_vmlinux += -p --no-undefined -X \ +LDFLAGS_vmlinux := -p --no-undefined -X \ $(shell $(CC) $(CFLAGS) --print-libgcc-file-name) -T -# 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 + +$(obj)/piggy: vmlinux FORCE + $(call if_changed,objcopy) + +$(obj)/piggy.gz: $(obj)/piggy FORCE $(call if_changed,gzip) +LDFLAGS_piggy.o := -r -b binary $(obj)/piggy.o: $(obj)/piggy.gz FORCE + $(call if_changed,ld) CFLAGS_font.o := -Dstatic= $(obj)/font.o: $(FONTC) -$(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in arch/arm/boot/Makefile .config +$(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in Makefile arch/arm/boot/Makefile .config @sed "$(SEDFLAGS)" < $< > $@ $(obj)/misc.o: $(obj)/misc.c include/asm/arch/uncompress.h lib/inflate.c