#!/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	\
"

#########################################################################
## 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					\
"

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

#----- 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
