patch-1.3.48 linux/arch/mips/kernel/Makefile

Next file: linux/arch/mips/kernel/cache.S
Previous file: linux/arch/mips/defconfig
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.47/linux/arch/mips/kernel/Makefile linux/arch/mips/kernel/Makefile
@@ -1,53 +1,101 @@
 #
-# Makefile for the linux kernel.
+# Makefile for the Linux/MIPS kernel.
 #
 # Note! Dependencies are done automagically by 'make dep', which also
 # removes any old dependencies. DON'T put your own dependencies here
 # unless it's something special (ie not a .c file).
 #
-# Note 2! The CFLAGS definitions are now in the main makefile...
 
 .S.s:
-	$(CPP) $(CFLAGS) -D__ASSEMBLY__ -traditional $< -o $*.s
+	$(CPP) $(CFLAGS) $< -o $*.s
 .S.o:
-	$(CC) -D__ASSEMBLY__ -traditional -c $< -o $*.o
+	$(CC) $(CFLAGS) -c $< -o $*.o
 
+all:	kernel.o head.o
 EXTRA_ASFLAGS = -mips3 -mcpu=r4000
-OBJS  = process.o signal.o entry.o traps.o irq.o ptrace.o cache.o resume.o \
-	ioport.o setup.o bios32.o tynedma.o
+O_TARGET := kernel.o
+O_OBJS	:= process.o signal.o entry.o traps.o irq.o ptrace.o vm86.o ioport.o \
+	setup.o syscall.o sysmips.o time.o bios32.o ipc.o
 
-all: kernel.o head.o
+#
+# Kernel debugging
+#
+ifdef CONFIG_REMOTE_DEBUG
+OBJS += gdb-low.o gdb-stub.o 
+endif
 
-cache.o: cache.s
+#
+# Board specific code
+#
+ifdef CONFIG_MIPS_JAZZ
+O_OBJS += jazzdma.o jazz-c.o
+endif
+
+ifdef CONFIG_ACER_PICA_61
+O_OBJS += pica.o
+endif
+
+ifdef CONFIG_DESKSTATION_TYNE
+O_OBJS += tyne.o tyne-c.o
+endif
+
+ifdef CONFIG_MIPS_MAGNUM_4000
+O_OBJS += magnum4000.o
+endif
 
-cache.s: cache.S $(TOPDIR)/include/asm/mipsconfig.h \
-	$(TOPDIR)/include/asm/regdef.h $(TOPDIR)/include/asm/segment.h
+#
+# CPU model specific code
+#
+ifdef CONFIG_CPU_R2000
+O_OBJS += r3000.o
+endif
+
+ifdef CONFIG_CPU_R3000
+O_OBJS += r3000.o
+endif
+
+ifdef CONFIG_CPU_R4X00
+O_OBJS += r4xx0.o
+endif
+
+ifdef CONFIG_CPU_R4600
+O_OBJS += r4xx0.o
+endif
+
+ifdef CONFIG_CPU_R6000
+	exit 1			# no detailed informations about CPU yet.
+endif
+
+ifdef CONFIG_CPU_R8000
+	exit 1			# no detailed informations about CPU yet.
+endif
+
+ifdef CONFIG_CPU_R10000
+O_OBJS += r4xx0.o
+endif
 
-entry.o: entry.s
+#
+# Since we add the same object files to O_OBJS for different configurations.
+# O_OBJS might contain duplicate files.  We correct this by filtering out
+# duplicate files.  Just to avoid users having to know about all the
+# compatibility stuff between various boards and boards.
+#
+O_OBJS := $(sort $(O_OBJS))
 
-entry.s: entry.S $(TOPDIR)/include/linux/sys.h \
-	$(TOPDIR)/include/linux/autoconf.h $(TOPDIR)/include/asm/segment.h \
-	$(TOPDIR)/include/asm/mipsregs.h $(TOPDIR)/include/asm/mipsconfig.h \
-	$(TOPDIR)/include/asm/page.h $(TOPDIR)/include/asm/stackframe.h \
-	$(TOPDIR)/include/asm/regdef.h $(TOPDIR)/include/asm/processor.h
+all: kernel.o head.o
 
-head.o: head.s
+entry.o: entry.S
 
-head.s: head.S $(TOPDIR)/include/linux/tasks.h
+head.o: head.S
 
-resume.o: resume.s
+magnum4000.o: magnum4000.S
 
-resume.s: resume.S $(TOPDIR)/include/asm/regdef.h \
-	$(TOPDIR)/include/asm/processor.h $(TOPDIR)/include/asm/mipsregs.h \
-	$(TOPDIR)/include/asm/mipsconfig.h
+pica.o: pica.S
 
-tlb.o: tlb.s
+r4xx0.o: r4xx0.S
 
-tlb.s:	tlb.S $(TOPDIR)/include/asm/regdef.h $(TOPDIR)/include/asm/mipsregs.h \
-	$(TOPDIR)/include/asm/bootinfo.h
+tyne.o: tyne.S
 
-kernel.o: $(OBJS)
-	$(LD) -r -o kernel.o $(OBJS)
-	sync
+clean:
 
 include $(TOPDIR)/Rules.make

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this