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