#!/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	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="lart shannon dnp1110"

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

LIST_ARM7="impa7 ep7312"

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

LIST_ARM9="smdk2400 smdk2410 trab VCMA9"

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

LIST_xscale="lubbock cradle csb226 innokom"


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


#----- 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)
			for target in `eval echo '$LIST_'${arg}`
			do
				build_target ${target}
			done
			;;
	*)		build_target ${arg}
			;;
	esac
done
