common/lcd.c: cleanup use of global variables
[oweals/u-boot.git] / arch / powerpc / lib / Makefile
index 965f9ea4a591aef9873efb047eef8422e0b24c7b..59c723b07091d0c8b111c217ef92b7034c32e9d9 100644 (file)
@@ -38,20 +38,44 @@ endif
 
 LIB    = $(obj)lib$(ARCH).o
 
-SOBJS-y        += ppccache.o
+MINIMAL=
+
+ifdef CONFIG_SPL_BUILD
+ifdef CONFIG_SPL_INIT_MINIMAL
+MINIMAL=y
+endif
+endif
+
+ifdef MINIMAL
+COBJS-y += cache.o time.o
+SOBJS-y += ticks.o
+else
+
 SOBJS-y        += ppcstring.o
+
+SOBJS-y        += ppccache.o
 SOBJS-y        += ticks.o
 SOBJS-y        += reloc.o
 
 COBJS-$(CONFIG_BAT_RW) += bat_rw.o
+ifndef CONFIG_SPL_BUILD
+ifndef CONFIG_SYS_GENERIC_BOARD
 COBJS-y        += board.o
+endif
+endif
 COBJS-y        += bootm.o
 COBJS-y        += cache.o
 COBJS-y        += extable.o
 COBJS-y        += interrupts.o
 COBJS-$(CONFIG_CMD_KGDB) += kgdb.o
+COBJS-${CONFIG_CMD_IDE} += ide.o
 COBJS-y        += time.o
 
+# Don't include the MPC5xxx special memcpy into the
+# SPL U-Boot image. memcpy is used in the SPL NOR
+# flash driver. And we need the real, fast memcpy
+# here. We have no problems with unaligned access.
+ifndef CONFIG_SPL_BUILD
 # Workaround for local bus unaligned access problems
 # on MPC512x and MPC5200
 ifdef CONFIG_MPC512X
@@ -62,6 +86,13 @@ ifdef CONFIG_MPC5200
 $(obj)ppcstring.o: AFLAGS += -Dmemcpy=__memcpy
 COBJS-y += memcpy_mpc5200.o
 endif
+endif
+
+endif # not minimal
+
+ifdef CONFIG_SPL_BUILD
+COBJS-$(CONFIG_SPL_FRAMEWORK) += spl.o
+endif
 
 COBJS  += $(sort $(COBJS-y))
 
@@ -74,12 +105,6 @@ TARGETS += $(LIB)
 all: $(TARGETS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       @if ! $(CROSS_COMPILE)readelf -S $(OBJS) | grep -q '\.fixup.*PROGBITS';\
-       then \
-               echo "ERROR: Your compiler doesn't generate .fixup sections!";\
-               echo "       Upgrade to a recent toolchain."; \
-               exit 1; \
-       fi;
        $(call cmd_link_o_target, $(OBJS))
 
 $(LIBGCC): $(obj).depend $(LGOBJS)