2 # linux/arch/arm/boot/compressed/Makefile
4 # create a compressed vmlinuz image from the original vmlinux
6 # Note! SYSTEM, ZTEXTADDR, ZBSSADDR and ZRELADDR are now exported
7 # from arch/arm/boot/Makefile
12 CFLAGS = $(CPPFLAGS) -O2 -DSTDC_HEADERS $(CFLAGS_BOOT) -fpic -Uarm
13 FONTC = $(TOPDIR)/drivers/video/font_acorn_8x8.c
14 ZLDFLAGS = -p -X -T vmlinux.lds
17 # Architecture dependencies
19 ifeq ($(CONFIG_ARCH_ACORN),y)
20 OBJS += ll_char_wr.o font.o
21 CFLAGS += -DPARAMS_PHYS=$(PARAMS_PHYS)
24 ifeq ($(CONFIG_ARCH_RISCSTATION),y)
25 OBJS += ll_char_wr.o font.o
26 CFLAGS += -DPARAMS_PHYS=$(PARAMS_PHYS)
29 ifeq ($(CONFIG_ARCH_NETWINDER),y)
30 OBJS += head-netwinder.o
33 ifeq ($(CONFIG_ARCH_SHARK),y)
34 OBJS += head-shark.o ofw-shark.o
37 ifeq ($(CONFIG_ARCH_INTEGRATOR),y)
38 OBJS += head-integrator.o
41 ifeq ($(CONFIG_ARCH_AT91RM9200),y)
42 OBJS += head-at91rm9200.o
45 ifeq ($(CONFIG_ARCH_MX1ADS),y)
49 ifeq ($(CONFIG_ARCH_CAMELOT),y)
50 OBJS += head-epxa10db.o
53 ifeq ($(CONFIG_ARCH_FTVPCI),y)
57 ifeq ($(CONFIG_ARCH_L7200),y)
61 ifeq ($(CONFIG_ARCH_CLPS7500),y)
62 HEAD = head-clps7500.o
65 ifeq ($(CONFIG_ARCH_P720T),y)
66 # Borrow this code from SA1100
70 ifeq ($(CONFIG_ARCH_SA1100),y)
74 SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/LOAD_ADDR/$(ZRELADDR)/;s/BSS_START/$(ZBSSADDR)/
76 LIBGCC := $(shell $(CC) $(CFLAGS) --print-libgcc-file-name)
80 vmlinux: $(HEAD) $(OBJS) piggy.o vmlinux.lds
81 $(LD) $(ZLDFLAGS) $(HEAD) $(OBJS) piggy.o $(LIBGCC) -o vmlinux
83 $(HEAD): $(HEAD:.o=.S) \
84 $(wildcard $(TOPDIR)/include/config/zboot/rom.h) \
85 $(wildcard $(TOPDIR)/include/config/cpu/32.h) \
86 $(wildcard $(TOPDIR)/include/config/cpu/26.h)
87 $(CC) $(AFLAGS) -traditional -c $(HEAD:.o=.S)
90 $(OBJCOPY) $(OBJCOPYFLAGS) $(SYSTEM) piggy
91 gzip $(GZFLAGS) < piggy > piggy.gz
92 $(LD) -r -o $@ -b binary piggy.gz
96 $(CC) $(CFLAGS) -Dstatic= -c -o $@ $(FONTC)
98 vmlinux.lds: vmlinux.lds.in Makefile $(TOPDIR)/arch/$(ARCH)/boot/Makefile $(TOPDIR)/.config
99 @sed "$(SEDFLAGS)" < vmlinux.lds.in > $@
101 clean:; rm -f vmlinux core piggy* vmlinux.lds
105 misc.o: misc.c $(TOPDIR)/include/asm/arch/uncompress.h $(TOPDIR)/lib/inflate.c
108 $(CC) $(AFLAGS) $(EXTRA_AFLAGS) $(AFLAGS_$@) -c -o $@ $<