#!/bin/sh

: ${JOBS:=}

if [ "${CROSS_COMPILE}" ] ; then
	MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
else
	MAKE=make
fi

[ -d LOG ] || mkdir LOG || exit 1

LIST=""

#########################################################################
## MPC5xx Systems
#########################################################################

LIST_5xx="	\
	cmi_mpc5xx							\
"

#########################################################################
## MPC5xxx Systems
#########################################################################

LIST_5xxx="	\
	IceCube_5100	IceCube_5200	EVAL5200	\
"

#########################################################################
## MPC8xx Systems
#########################################################################

LIST_8xx="	\
	AdderII		ADS860		AMX860		c2mon		\
	CCM		cogent_mpc8xx	DUET_ADS	ESTEEM192E	\
	ETX094		ELPT860		FADS823		FADS850SAR	\
	FADS860T	FLAGADM		FPS850L		GEN860T		\
	GEN860T_SC	GENIETV		GTH		hermes		\
	IAD210		ICU862_100MHz	IP860		IVML24		\
	IVML24_128	IVML24_256	IVMS8		IVMS8_128	\
	IVMS8_256	KUP4K           LANTEC	        lwmon   	\
	MBX		MBX860T		MHPC		MPC86xADS	\
	MVS1		NETVIA		NETVIA_V2	NX823		\
	pcu_e		QS823		QS850		QS860T		\
	R360MPI		RBC823		rmu		RPXClassic	\
	RPXlite		RRvision	SM850		SPD823TS	\
	svm_sc8xx	SXNI855T	TOP860		TQM823L		\
	TQM823L_LCD	TQM850L		TQM855L		TQM860L		\
	v37								\
"

#########################################################################
## PPC4xx Systems
#########################################################################

LIST_4xx="	\
	ADCIOP		AR405		ASH405          BUBINGA405EP    \
	CANBT		CPCI405		CPCI4052 	CPCI405AB       \
	CPCI440         CPCIISER4	CRAYL1  	DASA_SIM	\
	DP405           DU405    	EBONY           ERIC  		\
	EXBITGEN	HUB405          MIP405  	MIP405T		\
	ML2		OCRTC		ORSG		PCI405		\
	PIP405		PLU405          PMC405          PPChameleonEVB	\
	VOH405          W7OLMC		W7OLMG          WALNUT405	\
	XPEDITE1K							\
"

#########################################################################
## MPC824x Systems
#########################################################################

LIST_824x="	\
	A3000           BMW		CPC45		CU824		\
	debris		MOUSSE          MUSENKI    	MVBLUE		\
	OXC		PN62		Sandpoint8240   Sandpoint8245	\
	SL8245		utx8245						\
"

#########################################################################
## MPC8260 Systems (includes 8250, 8255 etc.)
#########################################################################

LIST_8260="	\
	atc		cogent_mpc8260	CPU86		ep8260		\
	gw8260		hymod		IPHASE4539	MPC8260ADS	\
	MPC8266ADS	PM826		ppmc8260	RPXsuper	\
	rsdproto	sacsng		sbc8260		SCM		\
	TQM8260_AC	TQM8260_AD	TQM8260_AE	ZPC1900		\
"

#########################################################################
## MPC85xx Systems (includes 8540, 8560 etc.)
#########################################################################

LIST_85xx="	\
	MPC8540ADS	MPC8560ADS					\
"

#########################################################################
## 74xx/7xx Systems
#########################################################################

LIST_74xx="	\
	DB64360		DB64460		EVB64260	P3G4		\
	PCIPPC2		PCIPPC6		ZUMA				\
"

LIST_7xx="	\
	BAB7xx		ELPPC						\
"

LIST_ppc="${LIST_5xx}  ${LIST_5xxx} \
	  ${LIST_8xx}  \
	  ${LIST_824x} ${LIST_8260} \
	  ${LIST_85xx}	\
	  ${LIST_4xx}		    \
	  ${LIST_74xx} ${LIST_7xx}"

#########################################################################
## StrongARM Systems
#########################################################################

LIST_SA="dnp1110 lart shannon"

#########################################################################
## ARM7 Systems
#########################################################################

LIST_ARM7="ep7312 impa7"

#########################################################################
## ARM9 Systems
#########################################################################

LIST_ARM9="	\
	at91rm9200dk	omap1510inn	omap1610inn			\
	smdk2400	smdk2410	trab				\
	VCMA9								\
"

#########################################################################
## Xscale Systems
#########################################################################

LIST_pxa="cradle csb226 innokom lubbock wepep250"

LIST_ixp="ixdp425"


LIST_arm="${LIST_SA} ${LIST_ARM7} ${LIST_ARM9} ${LIST_pxa} ${LIST_ixp}"

#########################################################################
## MIPS Systems
#########################################################################

LIST_mips4kc="incaip"

LIST_mips5kc="purple"

LIST_au1x00="dbau1000 dbau1100 dbau1500"

LIST_mips="${LIST_mips4kc} ${LIST_mips5kc} ${LIST_au1x00}"

#########################################################################
## i386 Systems
#########################################################################

LIST_I486="sc520_cdp sc520_spunk sc520_spunk_rel"

LIST_x86="${LIST_I486}"

#########################################################################
## NIOS Systems
#########################################################################

LIST_nios="	\
	DK1C20 DK1C20_standard_32					\
	DK1S10 DK1S10_standard_32 DK1S10_mtx_ldk_20			\
"

#-----------------------------------------------------------------------

#----- for now, just run PPC by default -----
[ $# = 0 ] && set $LIST_ppc

#-----------------------------------------------------------------------

build_target() {
	target=$1

	${MAKE} distclean >/dev/null
	${MAKE} ${target}_config
	${MAKE} ${JOBS} all 2>&1 >LOG/$target.MAKELOG | tee LOG/$target.ERR
	${CROSS_COMPILE:-ppc_8xx-}size u-boot | tee -a LOG/$target.MAKELOG
}

#-----------------------------------------------------------------------


for arg in $@
do
	case "$arg" in
	ppc|5xx|5xxx|8xx|824x|8260|85xx|4xx|7xx|74xx| \
	arm|SA|ARM7|ARM9|pxa|ixp| \
	mips| \
	nios| \
	x86|I486)
			for target in `eval echo '$LIST_'${arg}`
			do
				build_target ${target}
			done
			;;
	*)		build_target ${arg}
			;;
	esac
done
