Newer
Older
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# See file CREDITS for list of people who contributed to this
# project.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundatio; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
#
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
else
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION)
endif
TIMESTAMP_FILE = $(obj)include/timestamp_autogenerated.h
VERSION_FILE = $(obj)include/version_autogenerated.h
HOSTARCH := $(shell uname -m | \
sed -e s/i.86/i386/ \
-e s/sun4u/sparc64/ \
-e s/arm.*/arm/ \
-e s/sa110/arm/ \
-e s/ppc64/powerpc/ \
-e s/ppc/powerpc/ \
-e s/macppc/powerpc/)
HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
# Set shell to bash if possible, otherwise fall back to sh
SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi; fi)
export HOSTARCH HOSTOS SHELL
# Deal with colliding definitions from tcsh etc.
VENDOR=
#########################################################################
# Allow for silent builds
ifeq (,$(findstring s,$(MAKEFLAGS)))
XECHO = echo
else
XECHO = :
endif
#########################################################################
#
# U-boot build supports producing a object files to the separate external
# directory. Two use cases are supported:
# 1) Add O= to the make command line
# 'make O=/tmp/build all'
#
# 2) Set environement variable BUILD_DIR to point to the desired location
# 'export BUILD_DIR=/tmp/build'
# 'make'
#
# The second approach can also be used with a MAKEALL script
# 'export BUILD_DIR=/tmp/build'
# './MAKEALL'
# Command line 'O=' setting overrides BUILD_DIR environent variable.
# When none of the above methods is used the local build is performed and
# the object files are placed in the source directory.
ifdef O
ifeq ("$(origin O)", "command line")
BUILD_DIR := $(O)
endif
endif
ifneq ($(BUILD_DIR),)
saved-output := $(BUILD_DIR)
# Attempt to create a output directory.
$(shell [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR})
BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd)
$(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist))
endif # ifneq ($(BUILD_DIR),)
OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
SRCTREE := $(CURDIR)
TOPDIR := $(SRCTREE)
LNDIR := $(OBJTREE)
export TOPDIR SRCTREE OBJTREE
MKCONFIG := $(SRCTREE)/mkconfig
export MKCONFIG
ifneq ($(OBJTREE),$(SRCTREE))
export REMOTE_BUILD
endif
# $(obj) and (src) are defined in config.mk but here in main Makefile
# we also need them before config.mk is included which is the case for
# some targets like unconfig, clean, clobber, distclean, etc.
ifneq ($(OBJTREE),$(SRCTREE))
obj := $(OBJTREE)/
src := $(SRCTREE)/
else
obj :=
src :=
export obj src
# Make sure CDPATH settings don't interfere
unexport CDPATH
#########################################################################
# The "tools" are needed early, so put this first
# Don't include stuff already done in $(LIBS)
SUBDIRS = tools \
.PHONY : $(SUBDIRS)
ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk))
# Include autoconf.mk before config.mk so that the config options are available
# to all top level build files. We need the dummy all: target to prevent the
# dependency target in autoconf.mk.dep from being the default.
all:
sinclude $(obj)include/autoconf.mk.dep
sinclude $(obj)include/autoconf.mk
include $(obj)include/config.mk
# set default to nothing for native builds
# load other configuration
include $(TOPDIR)/config.mk
#########################################################################
# U-Boot objects....order is important (i.e. start must be first)
OBJS += $(CPUDIR)/start16.o
OBJS += $(CPUDIR)/resetvec.o
OBJS := $(addprefix $(obj),$(OBJS))
LIBS = lib/libgeneric.a
LIBS += lib/lzma/liblzma.a
LIBS += lib/lzo/liblzo.a
LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \
"board/$(VENDOR)/common/lib$(VENDOR).a"; fi)
LIBS += arch/arm/cpu/ixp/npe/libnpe.a
LIBS += arch/$(ARCH)/lib/lib$(ARCH).a
LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \
fs/ubifs/libubifs.a
LIBS += drivers/bios_emulator/libatibiosemu.a
LIBS += drivers/block/libblock.a
LIBS += drivers/dma/libdma.a
LIBS += drivers/fpga/libfpga.a
Jean-Christophe PLAGNIOL-VILLARD
committed
LIBS += drivers/hwmon/libhwmon.a
LIBS += drivers/i2c/libi2c.a
LIBS += drivers/input/libinput.a
LIBS += drivers/misc/libmisc.a
LIBS += drivers/mtd/libmtd.a
LIBS += drivers/mtd/nand/libnand.a
LIBS += drivers/mtd/onenand/libonenand.a
LIBS += drivers/mtd/ubi/libubi.a
LIBS += drivers/net/phy/libphy.a
LIBS += drivers/pci/libpci.a
LIBS += drivers/pcmcia/libpcmcia.a
LIBS += drivers/spi/libspi.a
ifeq ($(CPU),mpc83xx)
LIBS += drivers/qe/qe.a
endif
ifeq ($(CPU),mpc85xx)
LIBS += drivers/qe/qe.a
LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.a
LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.a
endif
ifeq ($(CPU),mpc86xx)
LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.a
LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.a
LIBS += drivers/rtc/librtc.a
LIBS += drivers/serial/libserial.a
LIBS += drivers/twserial/libtws.a
LIBS += drivers/usb/gadget/libusb_gadget.a
LIBS += drivers/usb/host/libusb_host.a
LIBS += drivers/usb/musb/libusb_musb.a
LIBS += drivers/video/libvideo.a
LIBS += drivers/watchdog/libwatchdog.a
LIBS := $(addprefix $(obj),$(LIBS))
.PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE)
LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a
LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
ifdef USE_PRIVATE_LIBGCC
ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
PLATFORM_LIBGCC = -L $(OBJTREE)/arch/$(ARCH)/lib -lgcc
else
PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
endif
else
PLATFORM_LIBGCC = -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
endif
PLATFORM_LIBS += $(PLATFORM_LIBGCC)
export PLATFORM_LIBS
# Special flags for CPP when processing the linker script.
# Pass the version down so we can handle backwards compatibility
# on the fly.
LDPPFLAGS += \
-include $(TOPDIR)/include/u-boot/u-boot.lds.h \
$(shell $(LD) --version | \
sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
ifeq ($(CONFIG_NAND_U_BOOT),y)
NAND_SPL = nand_spl
U_BOOT_NAND = $(obj)u-boot-nand.bin
endif
ifeq ($(CONFIG_ONENAND_U_BOOT),y)
ONENAND_IPL = onenand_ipl
U_BOOT_ONENAND = $(obj)u-boot-onenand.bin
ONENAND_BIN ?= $(obj)onenand_ipl/onenand-ipl-2k.bin
__OBJS := $(subst $(obj),,$(OBJS))
__LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))
#########################################################################
#########################################################################
# Always append ALL so that arch config.mk's can add custom ones
ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)
$(obj)u-boot.hex: $(obj)u-boot
$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
$(obj)u-boot.srec: $(obj)u-boot
$(obj)u-boot.bin: $(obj)u-boot
$(obj)u-boot.ldr: $(obj)u-boot
$(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
$(obj)u-boot.ldr.hex: $(obj)u-boot.ldr
$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ -I binary
$(obj)u-boot.ldr.srec: $(obj)u-boot.ldr
$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ -I binary
$(obj)u-boot.img: $(obj)u-boot.bin
$(obj)tools/mkimage -A $(ARCH) -T firmware -C none \
-n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \
sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \
-d $< $@
$(obj)u-boot.imx: $(obj)u-boot.bin
$(obj)tools/mkimage -n $(IMX_CONFIG) -T imximage \
-e $(TEXT_BASE) -d $< $@
$(obj)u-boot.kwb: $(obj)u-boot.bin
$(obj)tools/mkimage -n $(KWD_CONFIG) -T kwbimage \
-a $(TEXT_BASE) -e $(TEXT_BASE) -d $< $@
$(obj)u-boot.sha1: $(obj)u-boot.bin
$(obj)tools/ubsha1 $(obj)u-boot.bin
$(obj)u-boot.dis: $(obj)u-boot
UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
$(obj)u-boot: depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds
$(GEN_UBOOT)
ifeq ($(CONFIG_KALLSYMS),y)
smap=`$(call SYSTEM_MAP,u-boot) | \
awk '$$2 ~ /[tTwW]/ {printf $$1 $$3 "\\\\000"}'` ; \
$(CC) $(CFLAGS) -DSYSTEM_MAP="\"$${smap}\"" \
-c common/system_map.c -o $(obj)common/system_map.o
$(GEN_UBOOT) $(obj)common/system_map.o
endif
$(OBJS): depend
$(MAKE) -C $(CPUDIR) $(if $(REMOTE_BUILD),$@,$(notdir $@))
$(LIBS): depend $(SUBDIRS)
$(MAKE) -C $(dir $(subst $(obj),,$@))
$(LIBBOARD): depend $(LIBS)
$(SUBDIRS): depend
$(LDSCRIPT): depend
$(MAKE) -C $(dir $@) $(notdir $@)
$(obj)u-boot.lds: $(LDSCRIPT)
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
$(NAND_SPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
$(MAKE) -C nand_spl/board/$(BOARDDIR) all
$(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin
cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
$(ONENAND_IPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
$(U_BOOT_ONENAND): $(ONENAND_IPL) $(obj)u-boot.bin
cat $(ONENAND_BIN) $(obj)u-boot.bin > $(obj)u-boot-onenand.bin
@( printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' "$(U_BOOT_VERSION)" \
'$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ) > $@.tmp
@cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
$(TIMESTAMP_FILE):
@date +'#define U_BOOT_DATE "%b %d %C%y"' > $@
@date +'#define U_BOOT_TIME "%T"' >> $@
$(MAKE) -C tools/gdb all || exit 1
updater:
$(MAKE) -C tools/updater all || exit 1
env:
$(MAKE) -C tools/env all MTD_VERSION=${MTD_VERSION} || exit 1
# Explicitly make _depend in subdirs containing multiple targets to prevent
# parallel sub-makes creating .depend files simultaneously.
depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
for dir in $(SUBDIRS) $(CPUDIR) $(dir $(LDSCRIPT)) ; do \
TAG_SUBDIRS = $(SUBDIRS)
TAG_SUBDIRS += $(dir $(__LIBS))
Jean-Christophe PLAGNIOL-VILLARD
committed
TAG_SUBDIRS += include
tags ctags:
ctags -w -o $(obj)ctags `find $(TAG_SUBDIRS) \
-name '*.[chS]' -print`
etags -a -o $(obj)etags `find $(TAG_SUBDIRS) \
-name '*.[chS]' -print`
find $(TAG_SUBDIRS) -name '*.[chS]' -print > cscope.files
grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
LC_ALL=C sort
$(obj)System.map: $(obj)u-boot
@$(call SYSTEM_MAP,$<) > $(obj)System.map
#
# Auto-generate the autoconf.mk file (which is included by all makefiles)
#
# This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.
# the dep file is only include in this top level makefile to determine when
# to regenerate the autoconf.mk file.
$(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h
@$(XECHO) Generating $@ ; \
: Generate the dependancies ; \
$(CC) -x c -DDO_DEPS_ONLY -M $(HOSTCFLAGS) $(CPPFLAGS) \
-MQ $(obj)include/autoconf.mk include/common.h > $@
$(obj)include/autoconf.mk: $(obj)include/config.h
@$(XECHO) Generating $@ ; \
set -e ; \
: Extract the config macros ; \
$(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \
sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
mv $@.tmp $@
#########################################################################
all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \
$(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \
$(filter-out tools,$(SUBDIRS)) $(TIMESTAMP_FILE) $(VERSION_FILE) gdbtools \
updater env depend dep tags ctags etags cscope $(obj)System.map:
@echo "System not configured - see README" >&2
@ exit 1
tools:
$(MAKE) -C tools
tools-all:
$(MAKE) -C tools HOST_TOOLS_ALL=y
git log --no-merges U-Boot-1_1_5.. | \
unexpand -a | sed -e 's/\s\s*$$//' > $@
include/license.h: tools/bin2header COPYING
cat COPYING | gzip -9 -c | ./tools/bin2header license_gzip > include/license.h
#########################################################################
unconfig:
@rm -f $(obj)include/config.h $(obj)include/config.mk \
$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \
$(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep
%: %_config
$(MAKE)
#
# Functions to generate common board directory names
#
lcname = $(shell echo $(1) | sed -e 's/\(.*\)_config/\L\1/')
ucname = $(shell echo $(1) | sed -e 's/\(.*\)_config/\U\1/')
#========================================================================
# PowerPC
#========================================================================
#########################################################################
## MPC5xx Systems
#########################################################################
cmi_mpc5xx_config: unconfig
@$(MKCONFIG) $@ powerpc mpc5xx cmi
@$(MKCONFIG) $@ powerpc mpc5xx pati mpl
#########################################################################
## MPC5xxx Systems
#########################################################################
# generic boards
################
BC3450_config \
canmb_config \
cm5200_config \
hmi1001_config \
jupiter_config \
inka4x0_config \
ipek01_config \
motionpro_config\
mucmc52_config \
munices_config \
o2dnt_config \
uc101_config \
v38b_config: unconfig
@$(MKCONFIG) $@ powerpc mpc5xxx $(call lcname,$@)
# vendor specific boards (sorted by vendor)
###########################################
cpci5200_config \
mecp5200_config \
pf5200_config: unconfig
@$(MKCONFIG) $@ powerpc mpc5xxx $(call lcname,$@) esd
aev_config \
smmaco4_config \
spieval_config: unconfig
@$(MKCONFIG) $@ powerpc mpc5xxx tqm5200 tqc
# special boards
################
digsy_mtc_config \
digsy_mtc_LOWBOOT_config \
digsy_mtc_RAMBOOT_config: unconfig
@mkdir -p $(obj)include
@mkdir -p $(obj)board/digsy_mtc
@ >$(obj)include/config.h
@[ -z "$(findstring LOWBOOT_,$@)" ] || \
echo "TEXT_BASE = 0xFF000000" >$(obj)board/digsy_mtc/config.tmp
@[ -z "$(findstring RAMBOOT_,$@)" ] || \
echo "TEXT_BASE = 0x00100000" >$(obj)board/digsy_mtc/config.tmp
@$(MKCONFIG) -n $@ -a digsy_mtc powerpc mpc5xxx digsy_mtc
galaxy5200_LOWBOOT_config \
galaxy5200_config: unconfig
@mkdir -p $(obj)include
@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
@$(MKCONFIG) -n $@ -a galaxy5200 powerpc mpc5xxx galaxy5200
Lite5200_config \
Lite5200_LOWBOOT_config \
Lite5200_LOWBOOT08_config \
icecube_5200_config \
icecube_5200_LOWBOOT_config \
icecube_5200_LOWBOOT08_config \
icecube_5200_DDR_config \
icecube_5200_DDR_LOWBOOT_config \
icecube_5200_DDR_LOWBOOT08_config: unconfig
@mkdir -p $(obj)include
@mkdir -p $(obj)board/icecube
if [ "$(findstring DDR,$@)" ] ; \
then echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \
else echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \
@[ -z "$(findstring LOWBOOT08,$@)" ] || \
echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp
@[ -z "$(findstring DDR,$@)" ] || \
echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a IceCube powerpc mpc5xxx icecube
lite5200b_PM_config \
@mkdir -p $(obj)include
@mkdir -p $(obj)board/icecube
@ echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h
@ echo "#define CONFIG_LITE5200B" >>$(obj)include/config.h
@[ -z "$(findstring _PM_,$@)" ] || \
echo "#define CONFIG_LITE5200B_PM" >>$(obj)include/config.h
@[ -z "$(findstring LOWBOOT_,$@)" ] || \
echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp
@$(MKCONFIG) -n $@ -a IceCube powerpc mpc5xxx icecube
mcc200_SDRAM_config \
mcc200_highboot_config \
mcc200_COM12_config \
mcc200_COM12_SDRAM_config \
mcc200_COM12_highboot_config \
mcc200_COM12_highboot_SDRAM_config \
mcc200_highboot_SDRAM_config \
prs200_config \
prs200_DDR_config \
prs200_highboot_config \
prs200_highboot_DDR_config: unconfig
@mkdir -p $(obj)include
@mkdir -p $(obj)board/mcc200
@[ -z "$(findstring highboot,$@)" ] || \
echo "TEXT_BASE = 0xFFF00000" >$(obj)board/mcc200/config.tmp
@[ -n "$(findstring _SDRAM,$@)" ] || \
if [ -n "$(findstring prs200,$@)" ]; \
then \
if [ -z "$(findstring _DDR,$@)" ];\
echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ;\
@[ -z "$(findstring _SDRAM,$@)" ] || \
echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h
@[ -z "$(findstring COM12,$@)" ] || \
echo "#define CONFIG_CONSOLE_COM12" >>$(obj)include/config.h
@[ -z "$(findstring prs200,$@)" ] || \
echo "#define CONFIG_PRS200" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a mcc200 powerpc mpc5xxx mcc200
MVBC_P_config: unconfig
@mkdir -p $(obj)include
@mkdir -p $(obj)board/mvbc_p
@ >$(obj)include/config.h
@[ -z "$(findstring MVBC_P,$@)" ] || \
echo "#define CONFIG_MVBC_P" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a $@ powerpc mpc5xxx mvbc_p matrix_vision
MVSMR_config: unconfig
@mkdir -p $(obj)include
@mkdir -p $(obj)board/matrix_vision/mvsmr
@$(MKCONFIG) $@ powerpc mpc5xxx mvsmr matrix_vision
pcm030_config \
pcm030_LOWBOOT_config: unconfig
@mkdir -p $(obj)include $(obj)board/phytec/pcm030
@[ -z "$(findstring LOWBOOT_,$@)" ] || \
echo "TEXT_BASE = 0xFF000000" >$(obj)board/phytec/pcm030/config.tmp
@$(MKCONFIG) -n $@ -a pcm030 powerpc mpc5xxx pcm030 phytec
PM520_config \
PM520_DDR_config \
PM520_ROMBOOT_config \
PM520_ROMBOOT_DDR_config: unconfig
@mkdir -p $(obj)include
@[ -z "$(findstring DDR,$@)" ] || \
echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h
@[ -z "$(findstring ROMBOOT,$@)" ] || \
echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a PM520 powerpc mpc5xxx pm520
@mkdir -p $(obj)include
@[ -z "$(findstring _B,$@)" ] || \
echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a TB5200 powerpc mpc5xxx tqm5200 tqc
MINI5200_config \
EVAL5200_config \
TOP5200_config: unconfig
@mkdir -p $(obj)include
@ echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
@$(MKCONFIG) -n $@ -a TOP5200 powerpc mpc5xxx top5200 emk
Total5200_config \
Total5200_lowboot_config \
Total5200_Rev2_config \
Total5200_Rev2_lowboot_config: unconfig
@mkdir -p $(obj)include
@mkdir -p $(obj)board/total5200
echo "#define CONFIG_TOTAL5200_REV 1" >>$(obj)include/config.h
echo "#define CONFIG_TOTAL5200_REV 2" >>$(obj)include/config.h
@[ -z "$(findstring lowboot_,$@)" ] || \
echo "TEXT_BASE = 0xFE000000" >$(obj)board/total5200/config.tmp
@$(MKCONFIG) -n $@ -a Total5200 powerpc mpc5xxx total5200
cam5200_config \
TQM5200S_config \
TQM5200S_HIGHBOOT_config \
TQM5200_B_config \
TQM5200_B_HIGHBOOT_config \
TQM5200_config \
TQM5200_STK100_config: unconfig
@mkdir -p $(obj)include
@mkdir -p $(obj)board/tqc/tqm5200
@[ -z "$(findstring cam5200,$@)" ] || \
{ echo "#define CONFIG_CAM5200" >>$(obj)include/config.h ; \
echo "#define CONFIG_TQM5200S" >>$(obj)include/config.h ; \
echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \
@[ -z "$(findstring niosflash,$@)" ] || \
echo "#define CONFIG_CAM5200_NIOSFLASH" >>$(obj)include/config.h
@[ -z "$(findstring fo300,$@)" ] || \
echo "#define CONFIG_FO300" >>$(obj)include/config.h
@[ -z "$(findstring MiniFAP,$@)" ] || \
echo "#define CONFIG_MINIFAP" >>$(obj)include/config.h
echo "#define CONFIG_STK52XX_REV100" >>$(obj)include/config.h
@[ -z "$(findstring TQM5200_B,$@)" ] || \
echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h
@[ -z "$(findstring TQM5200S,$@)" ] || \
{ echo "#define CONFIG_TQM5200S" >>$(obj)include/config.h ; \
echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \
@[ -z "$(findstring HIGHBOOT,$@)" ] || \
echo "TEXT_BASE = 0xFFF00000" >$(obj)board/tqm5200/config.tmp
@$(MKCONFIG) -n $@ -a TQM5200 powerpc mpc5xxx tqm5200 tqc
#########################################################################
## MPC512x Systems
#########################################################################
# generic boards
################
pdm360ng_config: unconfig
@$(MKCONFIG) $@ powerpc mpc512x $(call lcname,$@)
# vendor specific boards (sorted by vendor)
###########################################
@$(MKCONFIG) $@ powerpc mpc512x aria davedenx
@$(MKCONFIG) $@ powerpc mpc512x mecp5123 esd
# special boards
################
mpc5121ads_config \
mpc5121ads_rev2_config \
@if [ "$(findstring rev2,$@)" ] ; then \
echo "#define CONFIG_ADS5121_REV2 1" > $(obj)include/config.h; \
@$(MKCONFIG) -n $@ -a mpc5121ads powerpc mpc512x mpc5121ads freescale
#########################################################################
## MPC8xx Systems
#########################################################################
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
# generic boards
################
c2mon_config \
EP88x_config \
ESTEEM192E_config \
ETX094_config \
FLAGADM_config \
GENIETV_config \
GTH_config \
hermes_config \
IP860_config \
LANTEC_config \
lwmon_config \
NX823_config \
quantum_config \
R360MPI_config \
RBC823_config \
rmu_config \
spc1920_config \
svm_sc8xx_config \
uc100_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx $(call lcname,$@)
RPXClassic_config \
RPXlite_config \
RRvision_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx $(@:_config=)
# vendor specific boards (sorted by vendor)
###########################################
MHPC_config: unconfig
@$(MKCONFIG) $@ powerpc mpc8xx mhpc eltec
TOP860_config: unconfig
@$(MKCONFIG) $@ powerpc mpc8xx top860 emk
kmsupx4_config \
mgsuvd_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx km8xx keymile
KUP4K_config \
KUP4X_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx $(call lcname,$@) kup
ELPT860_config: unconfig
@$(MKCONFIG) $@ powerpc mpc8xx elpt860 LEOX
stxxtc_config: unconfig
@$(MKCONFIG) $@ powerpc mpc8xx stxxtc stx
HMI10_config \
SM850_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx tqm8xx tqc
CCM_config \
IAD210_config \
pcu_e_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx $(@:_config=) siemens
QS823_config \
QS850_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx qs850 snmc
QS860T_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx qs860t snmc
AMX860_config : unconfig
@$(MKCONFIG) $@ powerpc mpc8xx amx860 westel
# special boards
################
AdderII_config \
AdderUSB_config \
Adder_config \
@mkdir -p $(obj)include
@echo "#define CONFIG_MPC852T" > $(obj)include/config.h)
@$(MKCONFIG) -n $@ -a Adder powerpc mpc8xx adder
cogent_mpc8xx_config: unconfig
@$(MKCONFIG) $(@:_config=) powerpc mpc8xx cogent
ADS860_config \
FADS823_config \
FADS850SAR_config \
MPC86xADS_config \
FADS860T_config: unconfig
@$(MKCONFIG) -n $@ $@ powerpc mpc8xx fads
@mkdir -p $(obj)include
echo "#define CONFIG_SC" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a GEN860T powerpc mpc8xx gen860t
@mkdir -p $(obj)include
echo "#define CONFIG_100MHz" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a ICU862 powerpc mpc8xx icu862
IVML24_256_config \
IVML24_128_config \
IVML24_config: unconfig
@mkdir -p $(obj)include
echo "#define CONFIG_IVML24_16M" >>$(obj)include/config.h
echo "#define CONFIG_IVML24_32M" >>$(obj)include/config.h
echo "#define CONFIG_IVML24_64M" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a IVML24 powerpc mpc8xx ivm
IVMS8_256_config \
IVMS8_128_config \
IVMS8_config: unconfig
@mkdir -p $(obj)include
echo "#define CONFIG_IVMS8_16M" >>$(obj)include/config.h
echo "#define CONFIG_IVMS8_32M" >>$(obj)include/config.h
echo "#define CONFIG_IVMS8_64M" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a IVMS8 powerpc mpc8xx ivm
@$(MKCONFIG) -n $@ $@ powerpc mpc8xx mbx8xx
@mkdir -p $(obj)include
@[ -z "$(findstring NETVIA_config,$@)" ] || \
echo "#define CONFIG_NETVIA_VERSION 1" >>$(obj)include/config.h
@[ -z "$(findstring NETVIA_V2_config,$@)" ] || \
echo "#define CONFIG_NETVIA_VERSION 2" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a NETVIA powerpc mpc8xx netvia
@mkdir -p $(obj)include
@[ -z "$(findstring NETPHONE_config,$@)" ] || \
echo "#define CONFIG_NETPHONE_VERSION 1" >>$(obj)include/config.h
@[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \
echo "#define CONFIG_NETPHONE_VERSION 2" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a NETPHONE powerpc mpc8xx netphone
NETTA_ISDN_6412_SWAPHOOK_config \
NETTA_ISDN_SWAPHOOK_config \
NETTA_6412_SWAPHOOK_config \
NETTA_SWAPHOOK_config \
NETTA_ISDN_6412_config \
@mkdir -p $(obj)include
@[ -z "$(findstring ISDN_,$@)" ] || \
echo "#define CONFIG_NETTA_ISDN 1" >>$(obj)include/config.h
@[ -n "$(findstring ISDN_,$@)" ] || \
echo "#undef CONFIG_NETTA_ISDN" >>$(obj)include/config.h
@[ -z "$(findstring 6412_,$@)" ] || \
echo "#define CONFIG_NETTA_6412 1" >>$(obj)include/config.h
@[ -n "$(findstring 6412_,$@)" ] || \
echo "#undef CONFIG_NETTA_6412" >>$(obj)include/config.h
@[ -z "$(findstring SWAPHOOK_,$@)" ] || \
echo "#define CONFIG_NETTA_SWAPHOOK 1" >>$(obj)include/config.h
@[ -n "$(findstring SWAPHOOK_,$@)" ] || \
echo "#undef CONFIG_NETTA_SWAPHOOK" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a NETTA powerpc mpc8xx netta
NETTA2_V2_config \
NETTA2_config: unconfig
@mkdir -p $(obj)include
@[ -z "$(findstring NETTA2_config,$@)" ] || \
echo "#define CONFIG_NETTA2_VERSION 1" >>$(obj)include/config.h
@[ -z "$(findstring NETTA2_V2_config,$@)" ] || \
echo "#define CONFIG_NETTA2_VERSION 2" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a NETTA2 powerpc mpc8xx netta2
NC650_Rev1_config \
NC650_Rev2_config \
CP850_config: unconfig
@mkdir -p $(obj)include
@[ -z "$(findstring CP850,$@)" ] || \
{ echo "#define CONFIG_CP850 1" >>$(obj)include/config.h ; \
echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \
}
@[ -z "$(findstring Rev1,$@)" ] || \
{ echo "#define CONFIG_IDS852_REV1 1" >>$(obj)include/config.h ; \
}
@[ -z "$(findstring Rev2,$@)" ] || \
{ echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \
}
@$(MKCONFIG) -n $@ -a NC650 powerpc mpc8xx nc650
RPXlite_DW_64_config \
RPXlite_DW_LCD_config \
RPXlite_DW_64_LCD_config \
RPXlite_DW_NVRAM_64_config \
RPXlite_DW_NVRAM_64_LCD_config \
RPXlite_DW_config: unconfig
@mkdir -p $(obj)include
echo "#define RPXlite_64MHz" >>$(obj)include/config.h
echo "#define CONFIG_NEC_NL6448BC20" >>$(obj)include/config.h ; \
}
@[ -z "$(findstring _NVRAM,$@)" ] || \
echo "#define CONFIG_ENV_IS_IN_NVRAM" >>$(obj)include/config.h
@$(MKCONFIG) -n $@ -a RPXlite_DW powerpc mpc8xx RPXlite_dw
@mkdir -p $(obj)include
@echo "#define CONFIG_LCD" >$(obj)include/config.h
@echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h
@$(MKCONFIG) -a RRvision powerpc mpc8xx RRvision
@$(MKCONFIG) $@ powerpc mpc8xx spd8xx
@$(MKCONFIG) $@ powerpc mpc8xx sixnet
# Only 855 and 860 boards may come with FEC
# and only 823 boards may have LCD support
xtract_8xx = $(subst _LCD,,$1)
TQM823L_config \
TQM823L_LCD_config \
TQM850L_config \
TQM855L_config \
TQM860L_config \
TQM855M_config \
TQM860M_config \
TQM862M_config \