#!/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="	\
	BC3450		cpci5200	EVAL5200	icecube_5100	\
	icecube_5200	lite5200b	mcc200		o2dnt		\
	pf5200		PM520		TB5200		Total5100	\
	Total5200	Total5200_Rev2	TQM5200		TQM5200_B	\
	TQM5200S	fo300						\
"

#########################################################################
## MPC8xx Systems
#########################################################################
LIST_8xx="	\
	Adder87x	GENIETV		MBX860T		R360MPI		\
	AdderII		GTH		MHPC		RBC823		\
	ADS860		hermes		MPC86xADS	rmu		\
	AMX860		IAD210		MPC885ADS	RPXClassic	\
	c2mon		ICU862_100MHz	MVS1		RPXlite		\
	CCM		IP860		NETPHONE	RPXlite_DW	\
	cogent_mpc8xx	IVML24		NETTA		RRvision	\
	ELPT860		IVML24_128	NETTA2		SM850		\
	EP88x		IVML24_256	NETTA_ISDN	spc1920		\
	ESTEEM192E	IVMS8		NETVIA		SPD823TS	\
	ETX094		IVMS8_128	NETVIA_V2	svm_sc8xx	\
	FADS823		IVMS8_256	NX823		SXNI855T	\
	FADS850SAR	KUP4K		pcu_e		TOP860		\
	FADS860T	KUP4X		QS823		TQM823L		\
	FLAGADM		LANTEC		QS850		TQM823L_LCD	\
	FPS850L		lwmon		QS860T		TQM850L		\
	GEN860T		MBX		quantum		TQM855L		\
	GEN860T_SC					TQM860L		\
							TQM885D		\
							uc100		\
							v37		\
"

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

LIST_4xx="	\
	ADCIOP		AP1000		AR405		ASH405		\
	bubinga		CANBT		CMS700		CPCI2DP		\
	CPCI405		CPCI4052	CPCI405AB	CPCI405DT	\
	CPCI440		CPCIISER4	CRAYL1		csb272		\
	csb472		DASA_SIM	DP405		DU405		\
	ebony		ERIC		EXBITGEN	G2000		\
	HH405		HUB405		JSE		KAREF		\
	luan		METROBOX	MIP405		MIP405T		\
	ML2		ml300		ocotea		OCRTC		\
	ORSG		p3p440		PCI405		pcs440ep	\
	PIP405		PLU405		PMC405		PPChameleonEVB	\
	sbc405		VOH405		VOM405		W7OLMC		\
	W7OLMG		walnut		WUH405		XPEDITE1K	\
	yellowstone	yosemite	yucca		bamboo		\
"

#########################################################################
## MPC8220 Systems
#########################################################################

LIST_8220="	\
	Alaska8220	Yukon8220					\
"

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

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

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

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

#########################################################################
## MPC83xx Systems (includes 8349, etc.)
#########################################################################

LIST_83xx="	\
	TQM834x		MPC8349EMDS					\
"


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

LIST_85xx="	\
	MPC8540ADS	MPC8540EVAL	MPC8541CDS	MPC8548CDS	\
	MPC8555CDS	MPC8560ADS	PM854		PM856		\
	sbc8540		sbc8560		stxgp3		TQM8540		\
	TQM8541		TQM8555		TQM8560				\
"

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

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

LIST_7xx="	\
	BAB7xx		CPCI750		ELPPC		ppmc7xx		\
"

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

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

LIST_SA="assabet dnp1110 gcplus lart shannon"

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

LIST_ARM7="	\
	armadillo	B2		ep7312		evb4510		\
	impa7		integratorap	ap7		ap720t		\
	modnet50							\
"

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

LIST_ARM9="	\
	at91rm9200dk	cmc_pu2						\
	ap920t		ap922_XA10	ap926ejs	ap946es		\
	ap966		cp920t		cp922_XA10	cp926ejs	\
	cp946es		cp966		lpd7a400	mp2usb		\
	mx1ads		mx1fs2		netstar		omap1510inn	\
	omap1610h2	omap1610inn	omap730p2	sbc2410x	\
	scb9328		smdk2400	smdk2410	trab		\
	VCMA9		versatile	versatileab	versatilepb	\
	voiceblue							\
"

#########################################################################
## ARM10 Systems
#########################################################################
LIST_ARM10="	\
	integratorcp	cp1026						\
"

#########################################################################
## ARM11 Systems
#########################################################################
LIST_ARM11="	\
	cp1136		omap2420h4					\
"

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

LIST_pxa="	\
	adsvix		cerf250		cradle		csb226		\
	delta		innokom		lubbock		pleb2		\
	pxa255_idp	wepep250	xaeniax		xm250		\
	xsengine	zylonite					\
"

LIST_ixp="ixdp425	ixdpg425	pdnb3"


LIST_arm="	\
	${LIST_SA}							\
	${LIST_ARM7} ${LIST_ARM9} ${LIST_ARM10} ${LIST_ARM11}		\
	${LIST_pxa} ${LIST_ixp}						\
"

#########################################################################
## MIPS Systems		(default = big endian)
#########################################################################

LIST_mips4kc="incaip"

LIST_mips5kc="purple"

LIST_au1xx0="dbau1000 dbau1100 dbau1500 dbau1550 dbau1550_el gth2"

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

#########################################################################
## MIPS Systems		(little endian)
#########################################################################

LIST_mips4kc_el=""

LIST_mips5kc_el=""

LIST_au1xx0_el="dbau1550_el"

LIST_mips_el="${LIST_mips4kc_el} ${LIST_mips5kc_el} ${LIST_au1xx0_el}"

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

LIST_I486="sc520_cdp sc520_spunk sc520_spunk_rel"

LIST_x86="${LIST_I486}"

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

LIST_nios="	\
	ADNPESC1		ADNPESC1_base_32			\
	ADNPESC1_DNPEVA2_base_32					\
	DK1C20			DK1C20_standard_32			\
	DK1S10			DK1S10_standard_32 DK1S10_mtx_ldk_20	\
"

#########################################################################
## Nios-II Systems
#########################################################################

LIST_nios2="	\
	EP1C20		EP1S10		EP1S40				\
	PCI5441		PK1C20						\
"

#########################################################################
## MicroBlaze Systems
#########################################################################

LIST_microblaze="	\
	suzaku
"

#########################################################################
## ColdFire Systems
#########################################################################

LIST_coldfire="	\
	cobra5272	EB+MCF-EV123	EB+MCF-EV123_internal		\
	M5271EVB	M5272C3		M5282EVB	TASREG		\
	r5200		M5271EVB					\
"

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

#----- 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|8220|824x|8260|83xx|85xx|4xx|7xx|74xx| \
	arm|SA|ARM7|ARM9|ARM10|ARM11|pxa|ixp| \
	microblaze| \
	mips|mips_el| \
	nios|nios2| \
	x86|I486| \
	coldfire)
			for target in `eval echo '$LIST_'${arg}`
			do
				build_target ${target}
			done
			;;
	*)		build_target ${arg}
			;;
	esac
done
