patch-2.4.4 linux/arch/arm/Makefile
Next file: linux/arch/arm/boot/Makefile
Previous file: linux/arch/alpha/mm/init.c
Back to the patch index
Back to the overall index
- Lines: 240
- Date:
Thu Apr 12 12:20:31 2001
- Orig file:
v2.4.3/linux/arch/arm/Makefile
- Orig date:
Thu Feb 8 16:32:44 2001
diff -u --recursive --new-file v2.4.3/linux/arch/arm/Makefile linux/arch/arm/Makefile
@@ -1,52 +1,36 @@
#
# arch/arm/Makefile
#
-# This file is included by the global makefile so that you can add your own
-# architecture-specific flags and dependencies. Remember to do have actions
-# for "archclean" and "archdep" for cleaning up and making dependencies for
-# this architecture
-#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#
-# Copyright (C) 1995-2000 by Russell King
+# Copyright (C) 1995-2001 by Russell King
LINKFLAGS :=-p -X -T arch/arm/vmlinux.lds
GZFLAGS :=-9
CFLAGS +=-fno-common -pipe
-ifdef CONFIG_FRAME_POINTER
+ifneq ($(CONFIG_NO_FRAME_POINTER),y)
CFLAGS :=$(CFLAGS:-fomit-frame-pointer=)
endif
-ifdef CONFIG_DEBUG_INFO
+ifeq ($(CONFIG_DEBUG_INFO),y)
CFLAGS +=-g
endif
-# Ensure this is ld "2.9.4" or later
-NEW_LINKER := $(shell $(LD) --gc-sections --version >/dev/null 2>&1; echo $$?)
-
-ifneq ($(NEW_LINKER),0)
-dummy:; @echo '*** ${VERSION}.${PATCHLEVEL} kernels no longer build correctly with old versions of binutils.'
- @echo '*** Please upgrade your binutils to 2.9.5.'
- @false
-endif
-
# Select CPU dependent flags. Note that order of declaration is important;
# the options further down the list override previous items.
#
-apcs-$(CONFIG_CPU_26) :=-mapcs-26 -mcpu=arm3 -Os
-apcs-$(CONFIG_CPU_32) :=-mapcs-32
+apcs-y :=
+apcs-$(CONFIG_CPU_26) :=-mcpu=arm3 -Os
-arch-$(CONFIG_CPU_32v3) :=-march=armv3
+arch-y :=
+arch-$(CONFIG_CPU_32v3) :=-march=armv3m
arch-$(CONFIG_CPU_32v4) :=-march=armv4
arch-$(CONFIG_CPU_32v5) :=-march=armv5
-proc-$(CONFIG_CPU_32v3) :=-marmv3m
-proc-$(CONFIG_CPU_32v4) :=-marmv4
-proc-$(CONFIG_CPU_32v5) :=-marmv5
-
+tune-y :=
tune-$(CONFIG_CPU_ARM610) :=-mtune=arm610
tune-$(CONFIG_CPU_ARM710) :=-mtune=arm710
tune-$(CONFIG_CPU_ARM720T) :=-mtune=arm7tdmi
@@ -54,19 +38,27 @@
tune-$(CONFIG_CPU_SA110) :=-mtune=strongarm110
tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100
-CFLAGS += $(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float
-AFLAGS += $(apcs-y) $(proc-y) -mno-fpu
+CFLAGS += -mapcs-32 $(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float
+AFLAGS += -mapcs-32 $(apcs-y) $(arch-y) -mno-fpu
LIBGCC := $(shell $(CC) $(CFLAGS) --print-libgcc-file-name)
ifeq ($(CONFIG_CPU_26),y)
PROCESSOR = armo
-TEXTADDR = 0x02080000
+ ifeq ($(CONFIG_ROM_KERNEL),y)
+ DATAADDR = 0x02080000
+ TEXTADDR = 0x03800000
+ LDSCRIPT = arch/arm/vmlinux-armo-rom.lds.in
+ else
+ TEXTADDR = 0x02080000
+ LDSCRIPT = arch/arm/vmlinux-armo.lds.in
+ endif
endif
ifeq ($(CONFIG_CPU_32),y)
PROCESSOR = armv
TEXTADDR = 0xC0008000
+LDSCRIPT = arch/arm/vmlinux-armv.lds.in
endif
ifeq ($(CONFIG_ARCH_ARCA5K),y)
@@ -97,8 +89,13 @@
INCDIR = ebsa285
endif
-ifeq ($(CONFIG_ARCH_NEXUSPCI),y)
-MACHINE = nexuspci
+ifeq ($(CONFIG_ARCH_FTVPCI),y)
+MACHINE = ftvpci
+INCDIR = nexuspci
+endif
+
+ifeq ($(CONFIG_ARCH_TBOX),y)
+MACHINE = tbox
endif
ifeq ($(CONFIG_ARCH_SHARK),y)
@@ -134,6 +131,10 @@
INCDIR := $(MACHINE)
endif
+ifeq ($(origin DATAADDR), undefined)
+DATAADDR := .
+endif
+
# If we have a machine-specific directory, then include it in the build.
MACHDIR := arch/arm/mach-$(MACHINE)
ifeq ($(MACHDIR),$(wildcard $(MACHDIR)))
@@ -143,13 +144,17 @@
HEAD := arch/arm/kernel/head-$(PROCESSOR).o \
arch/arm/kernel/init_task.o
-SUBDIRS += arch/arm/kernel arch/arm/mm arch/arm/lib arch/arm/nwfpe
+SUBDIRS += arch/arm/kernel arch/arm/mm arch/arm/lib arch/arm/nwfpe \
+ arch/arm/fastfpe
CORE_FILES := arch/arm/kernel/kernel.o arch/arm/mm/mm.o $(CORE_FILES)
-LIBS := arch/arm/lib/lib.o arch/arm/lib/lib.a $(LIBS) $(LIBGCC)
+LIBS := arch/arm/lib/lib.a $(LIBS) $(LIBGCC)
-ifeq ($(CONFIG_NWFPE),y)
+ifeq ($(CONFIG_FPE_NWFPE),y)
LIBS := arch/arm/nwfpe/math-emu.o $(LIBS)
endif
+ifeq ($(CONFIG_FPE_FASTFPE),y)
+LIBS := arch/arm/fastfpe/fast-math-emu.o $(LIBS)
+endif
ifeq ($(CONFIG_ARCH_CLPS7500),y)
SUBDIRS += drivers/acorn/char
@@ -157,21 +162,13 @@
endif
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
+MAKETOOLS = $(MAKE) -C arch/$(ARCH)/tools
# The following is a hack to get 'constants.h' up
# to date before starting compilation
-$(patsubst %, _dir_%, $(SUBDIRS)) init/main.o init/version.o : \
- include/asm-arm/mach-types.h
-
-$(patsubst %, _dir_%, $(SUBDIRS)) : constants
-
-include/asm-arm/mach-types.h: arch/arm/tools/mach-types \
- arch/arm/tools/gen-mach-types
- @awk -f arch/arm/tools/gen-mach-types arch/arm/tools/mach-types > $@
-
-constants: dummy
- @$(MAKE) -C arch/arm/lib constants.h
+$(patsubst %,_dir_%, $(SUBDIRS)): maketools
+$(patsubst %,_modsubdir_%,$(MOD_DIRS)): maketools
symlinks: archsymlinks
@@ -181,8 +178,8 @@
vmlinux: arch/arm/vmlinux.lds
-arch/arm/vmlinux.lds: arch/arm/vmlinux-$(PROCESSOR).lds.in dummy
- @sed 's/TEXTADDR/$(TEXTADDR)/' <$< >$@
+arch/arm/vmlinux.lds: $(LDSCRIPT) dummy
+ @sed 's/TEXTADDR/$(TEXTADDR)/;s/DATAADDR/$(DATAADDR)/' $(LDSCRIPT) >$@
arch/arm/kernel arch/arm/mm arch/arm/lib: dummy
$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" $(subst $@, _dir_$@, $@)
@@ -190,17 +187,42 @@
bzImage zImage zinstall Image bootpImage install: vmlinux
@$(MAKEBOOT) $@
+CLEAN_FILES += \
+ arch/arm/vmlinux.lds
+
+MRPROPER_FILES += \
+ include/asm-arm/arch \
+ include/asm-arm/proc \
+ include/asm-arm/constants.h* \
+ include/asm-arm/mach-types.h
+
+# We use MRPROPER_FILES and CLEAN_FILES now
archmrproper:
- $(RM) include/asm-arm/arch include/asm-arm/proc
+ @/bin/true
archclean:
@$(MAKEBOOT) clean
- $(RM) arch/arm/lib/constants.h arch/arm/vmlinux.lds
- $(RM) include/asm-arm/mach-types.h
-archdep: archsymlinks
+archdep: scripts/mkdep archsymlinks
+ @$(MAKETOOLS) dep
@$(MAKEBOOT) dep
+maketools: checkbin
+ @$(MAKETOOLS) all
+
+# Ensure this is ld "2.9.4" or later
+NEW_LINKER := $(shell $(LD) --gc-sections --version >/dev/null 2>&1; echo $$?)
+
+ifneq ($(NEW_LINKER),0)
+checkbin:
+ @echo '*** ${VERSION}.${PATCHLEVEL} kernels no longer build correctly with old versions of binutils.'
+ @echo '*** Please upgrade your binutils to 2.9.5.'
+ @false
+else
+checkbin:
+ @true
+endif
+
# My testing targets (that short circuit a few dependencies)
zImg:; @$(MAKEBOOT) zImage
Img:; @$(MAKEBOOT) Image
@@ -211,15 +233,7 @@
#
# Configuration targets. Use these to select a
# configuration for your architecture
-CFGS= a5k_config ebsa110_config \
- footbridge_config rpc_config \
- brutus_config victor_config \
- empeg_config graphicsclient_config \
- assabet_config lart_config \
- cerf_config lusl7200_config \
- sherman_config pangolin_config
-
-$(CFGS):
+%_config:
@( \
CFG=$(@:_config=); \
if [ -f arch/arm/def-configs/$$CFG ]; then \
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)