#
|
#
|
# arch/arm/Makefile
|
# arch/arm/Makefile
|
#
|
#
|
# This file is included by the global makefile so that you can add your own
|
# 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
|
# architecture-specific flags and dependencies. Remember to do have actions
|
# for "archclean" and "archdep" for cleaning up and making dependencies for
|
# for "archclean" and "archdep" for cleaning up and making dependencies for
|
# this architecture
|
# this architecture
|
#
|
#
|
# This file is subject to the terms and conditions of the GNU General Public
|
# 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
|
# License. See the file "COPYING" in the main directory of this archive
|
# for more details.
|
# for more details.
|
#
|
#
|
# Copyright (C) 1995, 1996 by Russell King
|
# Copyright (C) 1995, 1996 by Russell King
|
|
|
#CFLAGS += -DDEBUG
|
#CFLAGS += -DDEBUG
|
CFLAGS_DEBUG = -g -gdwarf-2
|
CFLAGS_DEBUG = -g -gdwarf-2
|
|
|
ifeq ($(CONFIG_CPU_ARM2),y)
|
ifeq ($(CONFIG_CPU_ARM2),y)
|
PROCESSOR = armo
|
PROCESSOR = armo
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
CFLAGS_PROC += -mcpu=arm2
|
CFLAGS_PROC += -mcpu=arm2
|
else
|
else
|
CFLAGS_PROC += -m2
|
CFLAGS_PROC += -m2
|
endif
|
endif
|
endif
|
endif
|
|
|
ifeq ($(CONFIG_CPU_ARM3),y)
|
ifeq ($(CONFIG_CPU_ARM3),y)
|
PROCESSOR = armo
|
PROCESSOR = armo
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
CFLAGS_PROC += -mcpu=arm3
|
CFLAGS_PROC += -mcpu=arm3
|
else
|
else
|
CFLAGS_PROC += -m3
|
CFLAGS_PROC += -m3
|
endif
|
endif
|
endif
|
endif
|
|
|
ifeq ($(CONFIG_CPU_ARM6),y)
|
ifeq ($(CONFIG_CPU_ARM6),y)
|
PROCESSOR = armv
|
PROCESSOR = armv
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
CFLAGS_PROC += -mcpu=arm6
|
CFLAGS_PROC += -mcpu=arm6
|
else
|
else
|
CFLAGS_PROC += -m6
|
CFLAGS_PROC += -m6
|
endif
|
endif
|
endif
|
endif
|
|
|
|
|
ifeq ($(CONFIG_CPU_ARM7),y)
|
ifeq ($(CONFIG_CPU_ARM7),y)
|
PROCESSOR = armv
|
PROCESSOR = armv
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
CFLAGS_PROC += -mcpu=arm7 -fno-strict-aliasing
|
CFLAGS_PROC += -mcpu=arm7 -fno-strict-aliasing
|
else
|
else
|
CFLAGS_PROC += -m6
|
CFLAGS_PROC += -m6
|
endif
|
endif
|
endif
|
endif
|
|
|
|
|
|
|
ifeq ($(CONFIG_CPU_SA110),y)
|
ifeq ($(CONFIG_CPU_SA110),y)
|
PROCESSOR = armv
|
PROCESSOR = armv
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
CFLAGS_PROC += -mcpu=strongarm110
|
CFLAGS_PROC += -mcpu=strongarm110
|
else
|
else
|
CFLAGS_PROC += -m6
|
CFLAGS_PROC += -m6
|
endif
|
endif
|
endif
|
endif
|
|
|
# Processor Architecture
|
# Processor Architecture
|
# CFLAGS_PROC - processor dependent CFLAGS
|
# CFLAGS_PROC - processor dependent CFLAGS
|
# PROCESSOR - processor type
|
# PROCESSOR - processor type
|
# TEXTADDR - Uncompressed kernel link text address
|
# TEXTADDR - Uncompressed kernel link text address
|
# ZTEXTADDR - Compressed kernel link text address
|
# ZTEXTADDR - Compressed kernel link text address
|
# ZRELADDR - Compressed kernel relocating address (point at which uncompressed kernel is loaded).
|
# ZRELADDR - Compressed kernel relocating address (point at which uncompressed kernel is loaded).
|
#
|
#
|
|
|
ifeq ($(CONFIG_ARCH_TRIO), y)
|
ifeq ($(CONFIG_ARCH_TRIO), y)
|
HEAD := arch/armnommu/kernel/head-arm-aplio.o
|
HEAD := arch/armnommu/kernel/head-arm-aplio.o
|
COMPRESSED_HEAD = head.o
|
COMPRESSED_HEAD = head.o
|
MACHINE = TRIO
|
MACHINE = TRIO
|
else
|
else
|
HEAD := arch/armnommu/kernel/head-$(PROCESSOR).o
|
HEAD := arch/armnommu/kernel/head-$(PROCESSOR).o
|
COMPRESSED_HEAD = head.o
|
COMPRESSED_HEAD = head.o
|
endif
|
endif
|
|
|
ifeq ($(PROCESSOR),armo)
|
ifeq ($(PROCESSOR),armo)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
CFLAGS_PROC += -mapcs-26 -mshort-load-bytes
|
CFLAGS_PROC += -mapcs-26 -mshort-load-bytes
|
endif
|
endif
|
TEXTADDR = 0x02080000
|
TEXTADDR = 0x02080000
|
ZTEXTADDR = 0x01800000
|
ZTEXTADDR = 0x01800000
|
ZRELADDR = 0x02080000
|
ZRELADDR = 0x02080000
|
endif
|
endif
|
|
|
ifeq ($(CONFIG_ARCH_A5K),y)
|
ifeq ($(CONFIG_ARCH_A5K),y)
|
MACHINE = a5k
|
MACHINE = a5k
|
COMPRESSED_EXTRA = $(TOPDIR)/arch/arm/lib/ll_char_wr.o
|
COMPRESSED_EXTRA = $(TOPDIR)/arch/arm/lib/ll_char_wr.o
|
endif
|
endif
|
|
|
ifeq ($(CONFIG_ARCH_ARC),y)
|
ifeq ($(CONFIG_ARCH_ARC),y)
|
MACHINE = arc
|
MACHINE = arc
|
COMPRESSED_EXTRA = $(TOPDIR)/arch/arm/lib/ll_char_wr.o
|
COMPRESSED_EXTRA = $(TOPDIR)/arch/arm/lib/ll_char_wr.o
|
endif
|
endif
|
|
|
ifeq ($(PROCESSOR),armv)
|
ifeq ($(PROCESSOR),armv)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
ifeq ($(CONFIG_BINUTILS_NEW),y)
|
CFLAGS_PROC += -mapcs-32 -mshort-load-bytes
|
CFLAGS_PROC += -mapcs-32 -mshort-load-bytes
|
endif
|
endif
|
TEXTADDR = 0xC0008000
|
TEXTADDR = 0xC0008000
|
endif
|
endif
|
|
|
ifeq ($(CONFIG_ARCH_TRIO),y)
|
ifeq ($(CONFIG_ARCH_TRIO),y)
|
MACHINE = trio
|
MACHINE = trio
|
TEXTADDR = 0x1000
|
TEXTADDR = 0x1000
|
endif
|
endif
|
|
|
ifeq ($(CONFIG_ARCH_RPC),y)
|
ifeq ($(CONFIG_ARCH_RPC),y)
|
MACHINE = rpc
|
MACHINE = rpc
|
COMPRESSED_EXTRA = $(TOPDIR)/arch/arm/lib/ll_char_wr.o
|
COMPRESSED_EXTRA = $(TOPDIR)/arch/arm/lib/ll_char_wr.o
|
ZTEXTADDR = 0x10008000
|
ZTEXTADDR = 0x10008000
|
ZRELADDR = 0x10008000
|
ZRELADDR = 0x10008000
|
endif
|
endif
|
|
|
ifeq ($(CONFIG_ARCH_EBSA110),y)
|
ifeq ($(CONFIG_ARCH_EBSA110),y)
|
MACHINE = ebsa110
|
MACHINE = ebsa110
|
ZTEXTADDR = 0x00008000
|
ZTEXTADDR = 0x00008000
|
ZRELADDR = 0x00008000
|
ZRELADDR = 0x00008000
|
endif
|
endif
|
|
|
|
|
ifeq ($(CONFIG_ARCH_NEXUSPCI),y)
|
ifeq ($(CONFIG_ARCH_NEXUSPCI),y)
|
MACHINE = nexuspci
|
MACHINE = nexuspci
|
TEXTADDR = 0xc0000000
|
TEXTADDR = 0xc0000000
|
ZTEXTADDR = 0x40200000
|
ZTEXTADDR = 0x40200000
|
ZRELADDR = 0x40000000
|
ZRELADDR = 0x40000000
|
COMPRESSED_EXTRA = $(TOPDIR)/arch/arm/lib/ll_char_wr_scc.o
|
COMPRESSED_EXTRA = $(TOPDIR)/arch/arm/lib/ll_char_wr_scc.o
|
COMPRESSED_HEAD = head-nexuspci.o
|
COMPRESSED_HEAD = head-nexuspci.o
|
endif
|
endif
|
|
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
PERL = perl
|
PERL = perl
|
CPP = $(CC) -E
|
CPP = $(CC) -E
|
ARCHCC := $(word 1,$(CC))
|
ARCHCC := $(word 1,$(CC))
|
GCCLIB := `$(CC) $(CFLAGS_PROC) --print-libgcc-file-name`
|
GCCLIB := `$(CC) $(CFLAGS_PROC) --print-libgcc-file-name`
|
HOSTCFLAGS := $(CFLAGS:-fomit-frame-pointer=)
|
HOSTCFLAGS := $(CFLAGS:-fomit-frame-pointer=)
|
ifeq ($(CONFIG_FRAME_POINTER),y)
|
ifeq ($(CONFIG_FRAME_POINTER),y)
|
CFLAGS := $(CFLAGS_PROC) $(CFLAGS:-fomit-frame-pointer=) -pipe -DNO_MM
|
CFLAGS := $(CFLAGS_PROC) $(CFLAGS:-fomit-frame-pointer=) -pipe -DNO_MM
|
else
|
else
|
CFLAGS := $(CFLAGS_PROC) $(CFLAGS) -pipe -DNO_MM
|
CFLAGS := $(CFLAGS_PROC) $(CFLAGS) -pipe -DNO_MM
|
endif
|
endif
|
LINKFLAGS = -Ttext $(TEXTADDR)
|
LINKFLAGS = -Ttext $(TEXTADDR)
|
ZLINKFLAGS = -Ttext $(ZTEXTADDR)
|
ZLINKFLAGS = -Ttext $(ZTEXTADDR)
|
|
|
SUBDIRS := $(SUBDIRS) arch/armnommu/kernel arch/armnommu/mm arch/armnommu/lib arch/armnommu/drivers
|
SUBDIRS := $(SUBDIRS) arch/armnommu/kernel arch/armnommu/mm arch/armnommu/lib arch/armnommu/drivers
|
ARCHIVES := arch/armnommu/kernel/kernel.o arch/armnommu/mm/mm.o \
|
ARCHIVES := arch/armnommu/kernel/kernel.o arch/armnommu/mm/mm.o \
|
$(ARCHIVES)
|
$(ARCHIVES)
|
LIBS := arch/armnommu/lib/lib.a $(LIBS) $(GCCLIB)
|
LIBS := arch/armnommu/lib/lib.a $(LIBS) $(GCCLIB)
|
DRIVERS := arch/armnommu/drivers/block/block.a \
|
DRIVERS := arch/armnommu/drivers/block/block.a \
|
arch/armnommu/drivers/char/char.a arch/armnommu/drivers/net/net.a
|
arch/armnommu/drivers/char/char.a arch/armnommu/drivers/net/net.a
|
|
|
ifeq ($(CONFIG_SCSI),y)
|
ifeq ($(CONFIG_SCSI),y)
|
DRIVERS := $(DRIVERS) arch/arm/drivers/scsi/scsi.a
|
DRIVERS := $(DRIVERS) arch/arm/drivers/scsi/scsi.a
|
endif
|
endif
|
|
|
ifeq ($(CONFIG_SOUND),y)
|
ifeq ($(CONFIG_SOUND),y)
|
DRIVERS := $(DRIVERS) arch/arm/drivers/sound/sound.a
|
DRIVERS := $(DRIVERS) arch/arm/drivers/sound/sound.a
|
endif
|
endif
|
|
|
symlinks::
|
symlinks::
|
$(RM) include/asm-armnommu/arch include/asm-armnommu/proc
|
$(RM) include/asm-armnommu/arch include/asm-armnommu/proc
|
(cd include/asm-armnommu; ln -sf arch-$(MACHINE) arch; ln -sf proc-$(PROCESSOR) proc)
|
(cd include/asm-armnommu; ln -sf arch-$(MACHINE) arch; ln -sf proc-$(PROCESSOR) proc)
|
|
|
mrproper::
|
mrproper::
|
rm -f include/asm-arm/arch include/asm-arm/proc
|
rm -f include/asm-arm/arch include/asm-arm/proc
|
@$(MAKE) -C arch/$(ARCH)/drivers mrproper
|
@$(MAKE) -C arch/$(ARCH)/drivers mrproper
|
|
|
arch/armnommu/kernel: dummy
|
arch/armnommu/kernel: dummy
|
$(MAKE) linuxsubdirs SUBDIRS=arch/armnommu/kernel
|
$(MAKE) linuxsubdirs SUBDIRS=arch/armnommu/kernel
|
|
|
arch/armnommu/mm: dummy
|
arch/armnommu/mm: dummy
|
$(MAKE) linuxsubdirs SUBDIRS=arch/armnommu/mm
|
$(MAKE) linuxsubdirs SUBDIRS=arch/armnommu/mm
|
|
|
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
|
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
|
|
|
zImage: vmlinux
|
zImage: vmlinux
|
@$(MAKEBOOT) zImage
|
@$(MAKEBOOT) zImage
|
|
|
zinstall: vmlinux
|
zinstall: vmlinux
|
@$(MAKEBOOT) zinstall
|
@$(MAKEBOOT) zinstall
|
|
|
Image: vmlinux
|
Image: vmlinux
|
@$(MAKEBOOT) Image
|
@$(MAKEBOOT) Image
|
|
|
install: vmlinux
|
install: vmlinux
|
@$(MAKEBOOT) install
|
@$(MAKEBOOT) install
|
|
|
# My testing targets (that short circuit a few dependencies)
|
# My testing targets (that short circuit a few dependencies)
|
#
|
#
|
zImg:; @$(MAKEBOOT) zImage
|
zImg:; @$(MAKEBOOT) zImage
|
Img:; @$(MAKEBOOT) Image
|
Img:; @$(MAKEBOOT) Image
|
i:; @$(MAKEBOOT) install
|
i:; @$(MAKEBOOT) install
|
zi:; @$(MAKEBOOT) zinstall
|
zi:; @$(MAKEBOOT) zinstall
|
|
|
archclean:
|
archclean:
|
@$(MAKEBOOT) clean
|
@$(MAKEBOOT) clean
|
@$(MAKE) -C arch/armnommu/lib clean
|
@$(MAKE) -C arch/armnommu/lib clean
|
|
|
archdep:
|
archdep:
|
@$(MAKEBOOT) dep
|
@$(MAKEBOOT) dep
|
sed -e /^MACHINE..*=/s,= .*,= rpc,;/^PROCESSOR..*=/s,= .*,= armv, linux/arch/armnommu/Makefile.normal
|
sed -e /^MACHINE..*=/s,= .*,= rpc,;/^PROCESSOR..*=/s,= .*,= armv, linux/arch/armnommu/Makefile.normal
|
|
|