blob: ada8985530a592a147378f7c97fd39e6882e9e60 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# arch/arm26/Makefile
3#
4# This file is subject to the terms and conditions of the GNU General Public
5# License. See the file "COPYING" in the main directory of this archive
6# for more details.
7#
8# Copyright (C) 1995-2001 by Russell King
9# Copyright (c) 2004 Ian Molton
10
11LDFLAGS_vmlinux :=-p -X
12CPPFLAGS_vmlinux.lds = -DTEXTADDR=$(TEXTADDR) -DDATAADDR=$(DATAADDR)
13OBJCOPYFLAGS :=-O binary -R .note -R .comment -S
14GZFLAGS :=-9
15
16ifeq ($(CONFIG_FRAME_POINTER),y)
17CFLAGS +=-fno-omit-frame-pointer -mno-sched-prolog
18endif
19
20ifeq ($(CONFIG_DEBUG_INFO),y)
21CFLAGS +=-g
22endif
23
24CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -msoft-float -Uarm
25CFLAGS +=-mapcs-26 -mcpu=arm3 -msoft-float -Uarm
26AFLAGS +=-mapcs-26 -mcpu=arm3 -msoft-float
27
28ifeq ($(CONFIG_XIP_KERNEL),y)
29 TEXTADDR := 0x03880000
30 DATAADDR := 0x02080000
31else
32 TEXTADDR := 0x02080000
33 DATAADDR := .
34endif
35
36head-y := arch/arm26/kernel/head.o arch/arm26/kernel/init_task.o
37
38ifeq ($(incdir-y),)
39incdir-y :=
40endif
41INCDIR :=
42
43export MACHINE TEXTADDR GZFLAGS CFLAGS_BOOT
44
45# If we have a machine-specific directory, then include it in the build.
46core-y += arch/arm26/kernel/ arch/arm26/mm/ arch/arm26/machine/
47core-$(CONFIG_FPE_NWFPE) += arch/arm26/nwfpe/
48
49libs-y += arch/arm26/lib/
50
51# Default target when executing plain make
52all: zImage
53
54boot := arch/arm26/boot
55
56prepare: include/asm-$(ARCH)/asm_offsets.h
57CLEAN_FILES += include/asm-$(ARCH)/asm_offsets.h
58
59
60.PHONY: maketools FORCE
61maketools: FORCE
62
63
64# Convert bzImage to zImage
65bzImage: vmlinux
66 $(Q)$(MAKE) $(build)=$(boot) $(boot)/zImage
67
68zImage Image bootpImage xipImage: vmlinux
69 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
70
71zinstall install: vmlinux
72 $(Q)$(MAKE) $(build)=$(boot) $@
73
74# We use MRPROPER_FILES and CLEAN_FILES now
75archclean:
76 $(Q)$(MAKE) $(clean)=$(boot)
77
78# My testing targets (that short circuit a few dependencies)
79zImg:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/zImage
80Img:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/Image
81bp:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/bootpImage
82i:; $(Q)$(MAKE) $(build)=$(boot) install
83zi:; $(Q)$(MAKE) $(build)=$(boot) zinstall
84
85#
86# Configuration targets. Use these to select a
87# configuration for your architecture
88%_config:
89 @( \
90 CFG=$(@:_config=); \
91 if [ -f arch/arm26/def-configs/$$CFG ]; then \
92 [ -f .config ] && mv -f .config .config.old; \
93 cp arch/arm26/def-configs/$$CFG .config; \
94 echo "*** Default configuration for $$CFG installed"; \
95 echo "*** Next, you may run 'make oldconfig'"; \
96 else \
97 echo "$$CFG does not exist"; \
98 fi; \
99 )
100
101arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
102 include/config/MARKER
103
104include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
105 $(call filechk,gen-asm-offsets)
106
107define archhelp
108 echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
109 echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
110 echo ' bootpImage - Combined zImage and initial RAM disk'
111 echo ' xipImage - eXecute In Place capable image for ROM use (arch/$(ARCH)/boot/xipImage)'
112 echo ' initrd - Create an initial image'
113 echo ' install - Install uncompressed kernel'
114 echo ' zinstall - Install compressed kernel'
115 echo ' Install using (your) ~/bin/installkernel or'
116 echo ' (distribution) /sbin/installkernel or'
117 echo ' install to $$(INSTALL_PATH) and run lilo'
118endef