blob: 844a9e46886e531584ff70c7a3c62a708fd3769a [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
Linus Torvalds1da177e2005-04-16 15:20:36 -070052.PHONY: maketools FORCE
53maketools: FORCE
54
55
56# Convert bzImage to zImage
57bzImage: vmlinux
58 $(Q)$(MAKE) $(build)=$(boot) $(boot)/zImage
59
60zImage Image bootpImage xipImage: vmlinux
61 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
62
63zinstall install: vmlinux
64 $(Q)$(MAKE) $(build)=$(boot) $@
65
66# We use MRPROPER_FILES and CLEAN_FILES now
67archclean:
68 $(Q)$(MAKE) $(clean)=$(boot)
69
70# My testing targets (that short circuit a few dependencies)
71zImg:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/zImage
72Img:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/Image
73bp:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/bootpImage
74i:; $(Q)$(MAKE) $(build)=$(boot) install
75zi:; $(Q)$(MAKE) $(build)=$(boot) zinstall
76
77#
78# Configuration targets. Use these to select a
79# configuration for your architecture
80%_config:
81 @( \
82 CFG=$(@:_config=); \
83 if [ -f arch/arm26/def-configs/$$CFG ]; then \
84 [ -f .config ] && mv -f .config .config.old; \
85 cp arch/arm26/def-configs/$$CFG .config; \
86 echo "*** Default configuration for $$CFG installed"; \
87 echo "*** Next, you may run 'make oldconfig'"; \
88 else \
89 echo "$$CFG does not exist"; \
90 fi; \
91 )
92
Linus Torvalds1da177e2005-04-16 15:20:36 -070093define archhelp
94 echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
95 echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
96 echo ' bootpImage - Combined zImage and initial RAM disk'
97 echo ' xipImage - eXecute In Place capable image for ROM use (arch/$(ARCH)/boot/xipImage)'
98 echo ' initrd - Create an initial image'
99 echo ' install - Install uncompressed kernel'
100 echo ' zinstall - Install compressed kernel'
101 echo ' Install using (your) ~/bin/installkernel or'
102 echo ' (distribution) /sbin/installkernel or'
103 echo ' install to $$(INSTALL_PATH) and run lilo'
104endef