#########################################################################
# U-Boot objects....order is important (i.e. start must be first)
-OBJS = $(CPUDIR)/start.o
-ifeq ($(CPU),ppc4xx)
-OBJS += $(CPUDIR)/resetvec.o
-endif
-ifeq ($(CPU),mpc85xx)
-OBJS += $(CPUDIR)/resetvec.o
-endif
+head-y := $(CPUDIR)/start.o
+head-$(CONFIG_4xx) += arch/powerpc/cpu/ppc4xx/resetvec.o
+head-$(CONFIG_MPC85xx) += arch/powerpc/cpu/mpc85xx/resetvec.o
-OBJS := $(addprefix $(obj),$(OBJS))
+OBJS := $(addprefix $(obj),$(head-y))
HAVE_VENDOR_COMMON_LIB = $(if $(wildcard board/$(VENDOR)/common/Makefile),y,n)
-ifneq ($(filter mpc83xx mpc85xx mpc86xx,$(CPU)),)
-obj-y += mpc8xxx/
-endif
+obj-$(CONFIG_MPC83xx) += mpc8xxx/
+obj-$(CONFIG_MPC85xx) += mpc8xxx/
+obj-$(CONFIG_MPC86xx) += mpc8xxx/
obj-$(CONFIG_FSL_LAW) += law.o
else
-
-ifneq ($(CPU),mpc83xx)
-obj-y += cpu.o
-endif
+obj-$(CONFIG_MPC85xx) += cpu.o
+obj-$(CONFIG_MPC86xx) += cpu.o
obj-$(CONFIG_OF_LIBFDT) += fdt.o
obj-$(CONFIG_FSL_LBC) += fsl_lbc.o
include $(TOPDIR)/config.mk
-ELF-$(ARCH) :=
-ELF-$(CPU) :=
ELF-y := hello_world
ELF-$(CONFIG_SMC91111) += smc91111_eeprom
ELF-$(CONFIG_SMC911X) += smc911x_eeprom
ELF-$(CONFIG_SPI_FLASH_ATMEL) += atmel_df_pow2
-ELF-i386 += 82559_eeprom
-ELF-mpc5xxx += interrupt
-ELF-mpc8xx += test_burst timer
-ELF-mpc8260 += mem_to_mem_idma2intr
-ELF-ppc += sched
+# TODO:
+# - Fix the warning of 82559_eeprom.c and uncomment the following
+# or
+# - Delete 82559_eeprom.c and the following line
+#ELF-$(CONFIG_X86) += 82559_eeprom
+ELF-$(CONFIG_MPC5xxx) += interrupt
+ELF-$(CONFIG_8xx) += test_burst timer
+ELF-$(CONFIG_8260) += mem_to_mem_idma2intr
+ELF-$(CONFIG_PPC) += sched
#
# Some versions of make do not handle trailing white spaces properly;
# leading to build failures. The problem was found with GNU Make 3.80.
# Using 'strip' as a workaround for the problem.
#
-ELF := $(strip $(ELF-y) $(ELF-$(ARCH)) $(ELF-$(CPU)))
+ELF := $(strip $(ELF-y))
SREC := $(addsuffix .srec,$(ELF))
BIN := $(addsuffix .bin,$(ELF))
LIB = $(obj)libstubs.o
-LIBAOBJS-$(ARCH) :=
-LIBAOBJS-$(CPU) :=
-LIBAOBJS-ppc += $(ARCH)_longjmp.o $(ARCH)_setjmp.o
-LIBAOBJS-mpc8xx += test_burst_lib.o
-LIBAOBJS := $(LIBAOBJS-$(ARCH)) $(LIBAOBJS-$(CPU))
+LIBAOBJS-$(CONFIG_PPC) += ppc_longjmp.o ppc_setjmp.o
+LIBAOBJS-$(CONFIG_8xx) += test_burst_lib.o
+LIBAOBJS := $(LIBAOBJS-y)
LIBCOBJS = stubs.o
obj-y += drivers/
obj-$(CONFIG_PPC) += lib_powerpc/
-ifneq ($(filter mpc83xx mpc8xx ppc4xx,$(CPU)),)
-obj-y += cpu/$(CPU)/
-endif
+obj-$(CONFIG_MPC83xx) += cpu/mpc83xx/
+obj-$(CONFIG_8xx) += cpu/mpc8xx/
+obj-$(CONFIG_4xx) += cpu/ppc4xx/
ifneq ($(filter lwmon lwmon5 netta pdm360ng,$(BOARD)),)
obj-y += board/$(BOARD)/
endif
START_PATH := $(CPUDIR)
endif
-START := $(START_PATH)/start.o
-ifeq ($(CPU),x86)
-START += $(START_PATH)/start16.o
-START += $(START_PATH)/resetvec.o
-endif
-ifeq ($(CPU),ppc4xx)
-START += $(START_PATH)/resetvec.o
-endif
-ifeq ($(CPU),mpc85xx)
-START += $(START_PATH)/resetvec.o
-endif
+head-y := $(START_PATH)/start.o
+head-$(CONFIG_X86) += $(START_PATH)/start16.o $(START_PATH)/resetvec.o
+head-$(CONFIG_4xx) += $(START_PATH)/resetvec.o
+head-$(CONFIG_MPC85xx) += $(START_PATH)/resetvec.o
LIBS-y += arch/$(ARCH)/lib/
PLATFORM_LIBS := $(filter-out %/libgcc.o, $(filter-out -lgcc, $(PLATFORM_LIBS))) $(PLATFORM_LIBGCC)
endif
-START := $(addprefix $(SPLTREE)/,$(START))
+START := $(addprefix $(SPLTREE)/,$(head-y))
LIBS := $(addprefix $(SPLTREE)/,$(sort $(LIBS-y)))
__START := $(subst $(obj),,$(START))