blob: e9cb8ef4f3fbdf0ae44197e9db145d506f28226a [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
Linus Torvalds1da177e2005-04-16 15:20:36 -070020CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -msoft-float -Uarm
21CFLAGS +=-mapcs-26 -mcpu=arm3 -msoft-float -Uarm
22AFLAGS +=-mapcs-26 -mcpu=arm3 -msoft-float
23
24ifeq ($(CONFIG_XIP_KERNEL),y)
25 TEXTADDR := 0x03880000
26 DATAADDR := 0x02080000
27else
28 TEXTADDR := 0x02080000
29 DATAADDR := .
30endif
31
32head-y := arch/arm26/kernel/head.o arch/arm26/kernel/init_task.o
33
34ifeq ($(incdir-y),)
35incdir-y :=
36endif
37INCDIR :=
38
39export MACHINE TEXTADDR GZFLAGS CFLAGS_BOOT
40
41# If we have a machine-specific directory, then include it in the build.
42core-y += arch/arm26/kernel/ arch/arm26/mm/ arch/arm26/machine/
43core-$(CONFIG_FPE_NWFPE) += arch/arm26/nwfpe/
44
45libs-y += arch/arm26/lib/
46
47# Default target when executing plain make
48all: zImage
49
50boot := arch/arm26/boot
51
52prepare: include/asm-$(ARCH)/asm_offsets.h
53CLEAN_FILES += include/asm-$(ARCH)/asm_offsets.h
54
55
56.PHONY: maketools FORCE
57maketools: FORCE
58
59
60# Convert bzImage to zImage
61bzImage: vmlinux
62 $(Q)$(MAKE) $(build)=$(boot) $(boot)/zImage
63
64zImage Image bootpImage xipImage: vmlinux
65 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
66
67zinstall install: vmlinux
68 $(Q)$(MAKE) $(build)=$(boot) $@
69
70# We use MRPROPER_FILES and CLEAN_FILES now
71archclean:
72 $(Q)$(MAKE) $(clean)=$(boot)
73
74# My testing targets (that short circuit a few dependencies)
75zImg:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/zImage
76Img:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/Image
77bp:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/bootpImage
78i:; $(Q)$(MAKE) $(build)=$(boot) install
79zi:; $(Q)$(MAKE) $(build)=$(boot) zinstall
80
81#
82# Configuration targets. Use these to select a
83# configuration for your architecture
84%_config:
85 @( \
86 CFG=$(@:_config=); \
87 if [ -f arch/arm26/def-configs/$$CFG ]; then \
88 [ -f .config ] && mv -f .config .config.old; \
89 cp arch/arm26/def-configs/$$CFG .config; \
90 echo "*** Default configuration for $$CFG installed"; \
91 echo "*** Next, you may run 'make oldconfig'"; \
92 else \
93 echo "$$CFG does not exist"; \
94 fi; \
95 )
96
97arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
98 include/config/MARKER
99
100include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
101 $(call filechk,gen-asm-offsets)
102
103define archhelp
104 echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
105 echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
106 echo ' bootpImage - Combined zImage and initial RAM disk'
107 echo ' xipImage - eXecute In Place capable image for ROM use (arch/$(ARCH)/boot/xipImage)'
108 echo ' initrd - Create an initial image'
109 echo ' install - Install uncompressed kernel'
110 echo ' zinstall - Install compressed kernel'
111 echo ' Install using (your) ~/bin/installkernel or'
112 echo ' (distribution) /sbin/installkernel or'
113 echo ' install to $$(INSTALL_PATH) and run lilo'
114endef