#!/bin/sh

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

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

LIST=""

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

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

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

LIST_4xx="	\
	ADCIOP		AR405		CANBT		CPCI405		\
	CPCI4052 	CPCI440         CPCIISER4	CRAYL1  	\
	DASA_SIM	DU405    	EBONY           ERIC  		\
	MIP405  	ML2		OCRTC		ORSG		\
	PCI405          PIP405		W7OLMC		W7OLMG          \
	WALNUT405							\
"

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

LIST_824x="	\
	BMW		CPC45		CU824		MOUSSE		\
	MUSENKI		OXC		PN62		Sandpoint8240	\
	Sandpoint8245	utx8245						\
"

#########################################################################
## MPC8260 Systems
#########################################################################

LIST_8260="	\
	cogent_mpc8260	CPU86		ep8260		gw8260		\
	hymod		IPHASE4539	MPC8260ADS	MPC8266ADS	\
	PM826		ppmc8260	RPXsuper	rsdproto	\
	sacsng		sbc8260		SCM		TQM8260		\
"

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

LIST_74xx="	\
	EVB64260	PCIPPC2		PCIPPC6		ZUMA		\
"

LIST_7xx="	\
	BAB7xx		ELPPC						\
"

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

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

LIST_SA="at91rm9200dk dnp1110 lart shannon"

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

LIST_ARM7="ep7312 impa7"

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

LIST_ARM9="smdk2400 smdk2410 trab VCMA9"

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

LIST_xscale="cradle csb226 innokom lubbock"


LIST_arm="${LIST_SA} ${LIST_ARM7} ${LIST_ARM9} ${LIST_xscale}"

#########################################################################
## MIPS 4Kc Systems
#########################################################################

LIST_mips4kc="incaip"

LIST_mips="${LIST_mips4kc}"


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

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

build_target() {
	target=$1

	${MAKE} distclean >/dev/null
	${MAKE} ${target}_config
	${MAKE} 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
	8xx|824x|8260|4xx|7xx|74xx|SA|ARM7|ARM9|ppc|arm|xscale|mips)
			for target in `eval echo '$LIST_'${arg}`
			do
				build_target ${target}
			done
			;;
	*)		build_target ${arg}
			;;
	esac
done
