| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # | 
 | 2 | # linux/arch/arm/boot/compressed/Makefile | 
 | 3 | # | 
 | 4 | # create a compressed vmlinuz image from the original vmlinux | 
 | 5 | # | 
 | 6 |  | 
 | 7 | HEAD	= head.o | 
 | 8 | OBJS	= misc.o | 
| Russell King | 4486b86 | 2007-06-03 18:54:42 +0100 | [diff] [blame] | 9 | FONTC	= $(srctree)/drivers/video/console/font_acorn_8x8.c | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 |  | 
 | 11 | # | 
 | 12 | # Architecture dependencies | 
 | 13 | # | 
 | 14 | ifeq ($(CONFIG_ARCH_ACORN),y) | 
| Russell King | 4486b86 | 2007-06-03 18:54:42 +0100 | [diff] [blame] | 15 | OBJS		+= ll_char_wr.o font.o | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | endif | 
 | 17 |  | 
 | 18 | ifeq ($(CONFIG_ARCH_SHARK),y) | 
 | 19 | OBJS		+= head-shark.o ofw-shark.o | 
 | 20 | endif | 
 | 21 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | ifeq ($(CONFIG_ARCH_L7200),y) | 
 | 23 | OBJS		+= head-l7200.o | 
 | 24 | endif | 
 | 25 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | ifeq ($(CONFIG_ARCH_P720T),y) | 
 | 27 | # Borrow this code from SA1100 | 
 | 28 | OBJS		+= head-sa1100.o | 
 | 29 | endif | 
 | 30 |  | 
 | 31 | ifeq ($(CONFIG_ARCH_SA1100),y) | 
 | 32 | OBJS		+= head-sa1100.o | 
 | 33 | endif | 
 | 34 |  | 
 | 35 | ifeq ($(CONFIG_CPU_XSCALE),y) | 
 | 36 | OBJS		+= head-xscale.o | 
 | 37 | endif | 
 | 38 |  | 
 | 39 | ifeq ($(CONFIG_PXA_SHARPSL),y) | 
 | 40 | OBJS		+= head-sharpsl.o | 
 | 41 | endif | 
 | 42 |  | 
| Catalin Marinas | 2658485 | 2009-05-30 14:00:18 +0100 | [diff] [blame] | 43 | ifeq ($(CONFIG_CPU_ENDIAN_BE32),y) | 
| Hyok S. Choi | f12d0d7 | 2006-09-26 17:36:37 +0900 | [diff] [blame] | 44 | ifeq ($(CONFIG_CPU_CP15),y) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 45 | OBJS		+= big-endian.o | 
| Hyok S. Choi | f12d0d7 | 2006-09-26 17:36:37 +0900 | [diff] [blame] | 46 | else | 
 | 47 | # The endian should be set by h/w design. | 
 | 48 | endif | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 49 | endif | 
 | 50 |  | 
 | 51 | # | 
 | 52 | # We now have a PIC decompressor implementation.  Decompressors running | 
 | 53 | # from RAM should not define ZTEXTADDR.  Decompressors running directly | 
 | 54 | # from ROM or Flash must define ZTEXTADDR (preferably via the config) | 
 | 55 | # FIXME: Previous assignment to ztextaddr-y is lost here. See SHARK | 
 | 56 | ifeq ($(CONFIG_ZBOOT_ROM),y) | 
 | 57 | ZTEXTADDR	:= $(CONFIG_ZBOOT_ROM_TEXT) | 
 | 58 | ZBSSADDR	:= $(CONFIG_ZBOOT_ROM_BSS) | 
 | 59 | else | 
 | 60 | ZTEXTADDR	:= 0 | 
 | 61 | ZBSSADDR	:= ALIGN(4) | 
 | 62 | endif | 
 | 63 |  | 
 | 64 | SEDFLAGS	= s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/ | 
 | 65 |  | 
| Russell King | 4486b86 | 2007-06-03 18:54:42 +0100 | [diff] [blame] | 66 | targets       := vmlinux vmlinux.lds piggy.gz piggy.o font.o font.c \ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 67 | 		 head.o misc.o $(OBJS) | 
| Abhishek Sagar | 014c257 | 2008-05-31 14:23:50 +0530 | [diff] [blame] | 68 |  | 
| Steven Rostedt | 606576c | 2008-10-06 19:06:12 -0400 | [diff] [blame] | 69 | ifeq ($(CONFIG_FUNCTION_TRACER),y) | 
| Abhishek Sagar | 014c257 | 2008-05-31 14:23:50 +0530 | [diff] [blame] | 70 | ORIG_CFLAGS := $(KBUILD_CFLAGS) | 
 | 71 | KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) | 
 | 72 | endif | 
 | 73 |  | 
| Catalin Marinas | 48da78b | 2007-07-11 11:29:28 +0100 | [diff] [blame] | 74 | EXTRA_CFLAGS  := -fpic -fno-builtin | 
| Russell King | 80cec14 | 2008-09-09 13:56:45 +0100 | [diff] [blame] | 75 | EXTRA_AFLAGS  := -Wa,-march=all | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 |  | 
 | 77 | # Supply ZRELADDR, INITRD_PHYS and PARAMS_PHYS to the decompressor via | 
 | 78 | # linker symbols.  We only define initrd_phys and params_phys if the | 
 | 79 | # machine class defined the corresponding makefile variable. | 
 | 80 | LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) | 
| Catalin Marinas | 2658485 | 2009-05-30 14:00:18 +0100 | [diff] [blame] | 81 | ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) | 
 | 82 | LDFLAGS_vmlinux += --be8 | 
 | 83 | endif | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 84 | ifneq ($(INITRD_PHYS),) | 
 | 85 | LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS) | 
 | 86 | endif | 
 | 87 | ifneq ($(PARAMS_PHYS),) | 
 | 88 | LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS) | 
 | 89 | endif | 
 | 90 | LDFLAGS_vmlinux += -p --no-undefined -X \ | 
| Sam Ravnborg | a0f97e0 | 2007-10-14 22:21:35 +0200 | [diff] [blame] | 91 | 	$(shell $(CC) $(KBUILD_CFLAGS) --print-libgcc-file-name) -T | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 92 |  | 
 | 93 | # Don't allow any static data in misc.o, which | 
 | 94 | # would otherwise mess up our GOT table | 
 | 95 | CFLAGS_misc.o := -Dstatic= | 
 | 96 |  | 
 | 97 | $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.o \ | 
 | 98 | 	 	$(addprefix $(obj)/, $(OBJS)) FORCE | 
 | 99 | 	$(call if_changed,ld) | 
 | 100 | 	@: | 
 | 101 |  | 
 | 102 | $(obj)/piggy.gz: $(obj)/../Image FORCE | 
 | 103 | 	$(call if_changed,gzip) | 
 | 104 |  | 
 | 105 | $(obj)/piggy.o:  $(obj)/piggy.gz FORCE | 
 | 106 |  | 
| Russell King | 4486b86 | 2007-06-03 18:54:42 +0100 | [diff] [blame] | 107 | CFLAGS_font.o := -Dstatic= | 
 | 108 |  | 
 | 109 | $(obj)/font.c: $(FONTC) | 
 | 110 | 	$(call cmd,shipped) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 111 |  | 
 | 112 | $(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in arch/arm/boot/Makefile .config | 
 | 113 | 	@sed "$(SEDFLAGS)" < $< > $@ |