patch-2.1.44 linux/arch/mips/Makefile

Next file: linux/arch/mips/boot/Makefile
Previous file: linux/arch/m68k/mm/memory.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.43/linux/arch/mips/Makefile linux/arch/mips/Makefile
@@ -10,36 +10,32 @@
 # License.  See the file "COPYING" in the main directory of this archive
 # for more details.
 #
-# Copyright (C) 1994, 1995 by Ralf Baechle
+# Copyright (C) 1994, 1995, 1996 by Ralf Baechle
+# DECStation modifications by Paul M. Antoine, 1996
+#
+# $Id: Makefile,v 1.7 1997/06/30 15:52:03 ralf Exp $
 #
 
+#
+# Select the object file format to substitute into the linker script.
+#
 ifdef CONFIG_CPU_LITTLE_ENDIAN
-prefix		= mipsel-
-oformat		= a.out-mips-little-linux
+CROSS_COMPILE = mipsel-linux-
+ifdef CONFIG_MIPS_ECOFF
+oformat               = ecoff-littlemips
 else
-prefix		= mips-
-oformat		= a.out-mips-big-linux
+oformat               = elf32-littlemips
 endif
-
-ifdef CONFIG_EXTRA_ELF_COMPILER
-prefix		:= $(prefix)linuxelf-
 else
-prefix		:= $(prefix)linux-
+CROSS_COMPILE = mips-linux-
+ifdef CONFIG_MIPS_ECOFF
+oformat               = ecoff-bigmips
+else
+oformat               = elf32-bigmips
+endif
 endif
 
-AS		= $(prefix)as
-LD		= $(prefix)ld
-LINKFLAGS	= -N -Ttext 0x80000000
-#LINKFLAGS	= -oformat=$(oformat) -N -Ttext 0x80000000
-#HOSTCC		= gcc
-CC		= $(prefix)gcc -D__KERNEL__ -I$(TOPDIR)/include
-CPP		= $(CC) -E $(CFLAGS)
-AR		= $(prefix)ar
-RANLIB		= $(prefix)ranlib
-OBJCOPY		= $(prefix)objcopy
-OBJDUMP		= $(prefix)objdump
-STRIP		= $(prefix)strip
-NM		= $(prefix)nm
+LINKFLAGS	= -static -N
 
 #
 # The new ELF GCC uses -G0 -mabicalls -fpic as default.  We don't need PIC
@@ -47,46 +43,127 @@
 # old GCC these options are just the defaults.  At some point we might
 # make use of global pointer optimizations.
 #
+# The DECStation requires an ECOFF kernel for remote booting, other MIPS
+# machines may also.
+#
 ifdef CONFIG_ELF_KERNEL
-CFLAGS		:= $(CFLAGS) -G0 -mno-abicalls -fno-pic
-LINKFLAGS	+= -T arch/mips/ld.script
+CFLAGS		+= -G 0 -mno-abicalls -fno-pic
+LINKFLAGS	+= -G 0
+endif
+ifdef CONFIG_ECOFF_KERNEL
+CFLAGS		+= -G 0 -mno-abicalls -fno-pic
+LINKFLAGS	+= -G 0 -oformat ecoff-littlemips
 endif
 
 ifdef CONFIG_REMOTE_DEBUG
 CFLAGS		:= $(CFLAGS) -g
 endif
 
+#
+# CPU dependand compiler/assembler options for optimization.
+#
 ifdef CONFIG_CPU_R3000
 CFLAGS		:= $(CFLAGS) -mcpu=r3000 -mips1
-#ASFLAGS		:= $(ASFLAGS) -mcpu=r3000 -mips1
 endif
 ifdef CONFIG_CPU_R6000
 CFLAGS		:= $(CFLAGS) -mcpu=r6000 -mips2
-#ASFLAGS		:= $(ASFLAGS) -mcpu=r6000 -mips2
+endif
+ifdef CONFIG_CPU_R4300
+CFLAGS		:= $(CFLAGS) -mcpu=r4600 -Wa,-mcpu=vr4300 -mips2
 endif
 ifdef CONFIG_CPU_R4X00
-CFLAGS		:= $(CFLAGS) -D__R4000__ -mcpu=r4400 -mips2
-#ASFLAGS		:= $(ASFLAGS) -mcpu=r4400 -mips2
+CFLAGS		:= $(CFLAGS) -mcpu=r4600 -mips2
 endif
-ifdef CONFIG_CPU_R4600
-CFLAGS		:= $(CFLAGS) -D__R4000__ -mcpu=r4600 -mips2
-#ASFLAGS		:= $(ASFLAGS) -mcpu=r4600 -mips2
+ifdef CONFIG_CPU_R5000
+CFLAGS		:= $(CFLAGS) -mcpu=r8000 -mips2
 endif
 ifdef CONFIG_CPU_R8000
-CFLAGS		:= $(CFLAGS) -D__R4000__ -mcpu=r8000 -mips2
-#ASFLAGS		:= $(ASFLAGS) -mcpu=r8000 -mips2
+CFLAGS		:= $(CFLAGS) -mcpu=r8000 -mips2
 endif
 ifdef CONFIG_CPU_R10000
-CFLAGS		:= $(CFLAGS) -D__R4000__ -mcpu=r8000 -mips2
-#ASFLAGS		:= $(ASFLAGS) -mcpu=r8000 -mips2
+CFLAGS		:= $(CFLAGS) -mcpu=r8000 -mips2
+endif
+
+#
+# Board dependand options and extra files
+#
+ifdef CONFIG_ALGOR_P4032
+CORE_FILES    += arch/mips/algor/algor.o
+SUBDIRS       += arch/mips/algor
+#LOADADDR      += 0x80000000
+endif
+ifdef CONFIG_DECSTATION
+CORE_FILES    += arch/mips/dec/dec.o
+SUBDIRS       += arch/mips/dec
+LINKSCRIPT    += arch/mips/dec/ld.script
+LOADADDR      += 0x80000000
+endif
+ifdef CONFIG_DESKSTATION_RPC44
+CORE_FILES    += arch/mips/deskstation/deskstation.o
+SUBDIRS       += arch/mips/deskstation
+LOADADDR      += 0x80100000
+endif
+ifdef CONFIG_DESKSTATION_TYNE
+CORE_FILES    += arch/mips/deskstation/deskstation.o
+SUBDIRS       += arch/mips/deskstation
+LOADADDR      += 0x80000000
+endif
+#
+# Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
+#
+ifdef CONFIG_MIPS_JAZZ
+CORE_FILES    += arch/mips/jazz/jazz.o
+SUBDIRS       += arch/mips/jazz
+LOADADDR      += 0x80000000
+endif
+ifdef CONFIG_MIPS_MAGNUM_3000
+LOADADDR      += 0x80000000
+endif
+ifdef CONFIG_SNI_RM200_PCI
+CORE_FILES    += arch/mips/sni/sni.o
+SUBDIRS       += arch/mips/sni
+LOADADDR      += 0x80000000
+endif
+ifdef CONFIG_SGI
+LIBS          += arch/mips/sgi/kernel/sgikern.a arch/mips/sgi/prom/promlib.a
+SUBDIRS       += arch/mips/sgi/kernel arch/mips/sgi/prom
+#
+# Set LOADADDR to >= 0x88069000 if you want to leave space for symmon,
+# 0x88002000 for production kernels.  Note that the value must be
+# 8kb aligned or the handling of the current variable will break.
+#
+LOADADDR      += 0x88002000
+HOSTCC        = cc
 endif
 
-CFLAGS		:= $(CFLAGS) -pipe
+#
+# Choosing incompatible machines durings configuration will result in
+# error messages during linking.  Select a default linkscript if
+# none has been choosen above.
+#
+ifndef LINKSCRIPT
+ifndef CONFIG_CPU_LITTLE_ENDIAN
+LINKSCRIPT    = arch/mips/ld.script.big
+else
+LINKSCRIPT    = arch/mips/ld.script.little
+endif
+endif
+LINKFLAGS     += -T $(word 1,$(LINKSCRIPT))
+
+ifdef LOADADDR
+LINKFLAGS     += -Ttext $(word 1,$(LOADADDR))
+endif
+
+#
+# The pipe options is bad for my low-mem machine
+# Uncomment this if you want this.
+#
+CFLAGS		+= -pipe
 
-HEAD := arch/mips/kernel/head.o
+HEAD := arch/mips/kernel/head.o arch/mips/kernel/init_task.o
 
-SUBDIRS := $(SUBDIRS) arch/mips/kernel arch/mips/mm arch/mips/lib
-ARCHIVES := arch/mips/kernel/kernel.o arch/mips/mm/mm.o $(ARCHIVES)
+SUBDIRS := $(SUBDIRS) $(addprefix arch/mips/, kernel mm lib tools)
+CORE_FILES := arch/mips/kernel/kernel.o arch/mips/mm/mm.o $(CORE_FILES)
 LIBS := arch/mips/lib/lib.a $(LIBS) arch/mips/lib/lib.a
 
 MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
@@ -102,6 +179,7 @@
 archclean:
 	@$(MAKEBOOT) clean
 	$(MAKE) -C arch/$(ARCH)/kernel clean
+	$(MAKE) -C arch/$(ARCH)/tools clean
 
 archdep:
 	@$(MAKEBOOT) dep

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov