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
- Lines: 208
- Date:
Mon Jul 7 08:18:53 1997
- Orig file:
v2.1.43/linux/arch/mips/Makefile
- Orig date:
Wed Dec 13 02:39:42 1995
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