8xxx: Refactored common cpu specific code for 85xx/86xx into one file.
[oweals/u-boot.git] / cpu / mpc86xx / Makefile
index 79959451694a6909fd8f959224b6eb002ede6d3e..daca79ad4f2217ec4a2775808dd83a3f1f50a0ff 100644 (file)
@@ -1,4 +1,5 @@
 #
+# Copyright 2007 Freescale Semiconductor, Inc.
 # (C) Copyright 2002,2003 Motorola Inc.
 # Xianghua Xiao,X.Xiao@motorola.com
 #
 
 include $(TOPDIR)/config.mk
 
-LIB    = lib$(CPU).a
+LIB    = $(obj)lib$(CPU).a
 
-START  = start.o #resetvec.o
-ASOBJS  = cache.o
-COBJS  = traps.o cpu.o cpu_init.o speed.o interrupts.o \
-         pci.o pcie_indirect.o i2c.o spd_sdram.o
-OBJS   = $(COBJS)
+START  = start.o
 
-all:   .depend $(START) $(ASOBJS) $(LIB)
+SOBJS-y += cache.o
+SOBJS-$(CONFIG_MP) += release.o
+
+COBJS-y        += cpu.o
+COBJS-y        += cpu_init.o
+# 8610 & 8641 are identical w/regards to DDR
+COBJS-$(CONFIG_MPC8610) += ddr-8641.o
+COBJS-$(CONFIG_MPC8641) += ddr-8641.o
+COBJS-$(CONFIG_OF_LIBFDT) += fdt.o
+COBJS-y        += interrupts.o
+COBJS-$(CONFIG_MP) += mp.o
+COBJS-y        += speed.o
+COBJS-y        += traps.o
+
+SRCS   := $(START:.o=.S) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
+OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
+START  := $(addprefix $(obj),$(START))
+
+all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) crv $@ $(ASOBJS) $(OBJS)
+       $(AR) $(ARFLAGS) $@ $(ASOBJS) $(OBJS)
 
 #########################################################################
 
-.depend:       Makefile $(START:.o=.S) $(ASOBJS:.o=.S) $(COBJS:.o=.c)
-               $(CC) -M $(CFLAGS) $(START:.o=.S) $(ASOBJS:.o=.S) $(COBJS:.o=.c) > $@
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
 
-sinclude .depend
+sinclude $(obj).depend
 
 #########################################################################