#!/bin/sh

# Determine number of CPU cores if no default was set
: ${BUILD_NCPUS:="`getconf _NPROCESSORS_ONLN`"}

if [ "$BUILD_NCPUS" -gt 1 ]
then
	JOBS=-j`expr "$BUILD_NCPUS" + 1`
else
	JOBS=""
fi


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

if [ "${MAKEALL_LOGDIR}" ] ; then
	LOG_DIR=${MAKEALL_LOGDIR}
else
	LOG_DIR="LOG"
fi

if [ ! "${BUILD_DIR}" ] ; then
	BUILD_DIR="."
fi

[ -d ${LOG_DIR} ] || mkdir ${LOG_DIR} || exit 1

LIST=""

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

LIST_5xx="		\
	cmi_mpc5xx	\
"

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

LIST_5xxx="		\
	BC3450		\
	cm5200		\
	cpci5200	\
	digsy_mtc	\
	EVAL5200	\
	fo300		\
	icecube_5100	\
	icecube_5200	\
	inka4x0		\
	lite5200b	\
	mcc200		\
	mecp5200	\
	motionpro	\
	munices		\
	MVBC_P		\
	o2dnt		\
	pf5200		\
	PM520		\
	TB5200		\
	Total5100	\
	Total5200	\
	Total5200_Rev2	\
	TQM5200		\
	TQM5200_B	\
	TQM5200S	\
	v38b		\
"

#########################################################################
## MPC512x Systems
#########################################################################

LIST_512x="		\
	ads5121		\
"

#########################################################################
## MPC8xx Systems
#########################################################################
LIST_8xx="		\
	Adder87x	\
	AdderII		\
	ADS860		\
	AMX860		\
	c2mon		\
	CCM		\
	cogent_mpc8xx	\
	ELPT860		\
	EP88x		\
	ESTEEM192E	\
	ETX094		\
	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		\
	KUP4X		\
	LANTEC		\
	lwmon		\
	kmsupx4		\
	MBX		\
	MBX860T		\
	mgsuvd		\
	MHPC		\
	MPC86xADS	\
	MPC885ADS	\
	NETPHONE	\
	NETTA		\
	NETTA2		\
	NETTA_ISDN	\
	NETVIA		\
	NETVIA_V2	\
	NX823		\
	pcu_e		\
	QS823		\
	QS850		\
	QS860T		\
	quantum		\
	R360MPI		\
	RBC823		\
	rmu		\
	RPXClassic	\
	RPXlite		\
	RPXlite_DW	\
	RRvision	\
	SM850		\
	spc1920		\
	SPD823TS	\
	svm_sc8xx	\
	SXNI855T	\
	TK885D		\
	TOP860		\
	TQM823L		\
	TQM823L_LCD	\
	TQM850L		\
	TQM855L		\
	TQM860L		\
	TQM885D		\
	uc100		\
	v37		\
"

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

LIST_4xx="		\
	acadia		\
	acadia_nand	\
	ADCIOP		\
	alpr		\
	AP1000		\
	AR405		\
	arches		\
	ASH405		\
	bamboo		\
	bamboo_nand	\
	bubinga		\
	CANBT		\
	canyonlands	\
	canyonlands_nand \
	CMS700		\
	CPCI2DP		\
	CPCI405		\
	CPCI4052	\
	CPCI405AB	\
	CPCI405DT	\
	CPCIISER4	\
	CRAYL1		\
	csb272		\
	csb472		\
	DASA_SIM	\
	DP405		\
	DU405		\
	DU440		\
	ebony		\
	ERIC		\
	EXBITGEN	\
	fx12mm		\
	G2000		\
	gdppc440etx	\
	glacier		\
	haleakala	\
	haleakala_nand	\
	hcu4		\
	hcu5		\
	HH405		\
	HUB405		\
	JSE		\
	KAREF		\
	katmai		\
	kilauea		\
	kilauea_nand	\
	korat		\
	luan		\
	lwmon5		\
	makalu		\
	mcu25		\
	METROBOX	\
	MIP405		\
	MIP405T		\
	ML2		\
	ml300		\
	ml507		\
	ml507_flash	\
	neo		\
	ocotea		\
	OCRTC		\
	ORSG		\
	p3p440		\
	PCI405		\
	pcs440ep	\
	PIP405		\
	PLU405		\
	PMC405		\
	PMC440		\
	PPChameleonEVB	\
	quad100hd	\
	rainier		\
	redwood		\
	sbc405		\
	sc3		\
	sequoia		\
	sequoia_nand	\
	taihu		\
	taishan		\
	v5fx30teval	\
	v5fx30teval_flash \
	VOH405		\
	VOM405		\
	W7OLMC		\
	W7OLMG		\
	walnut		\
	WUH405		\
	xilinx-ppc440-generic \
	xilinx-ppc440-generic_flash \
	XPEDITE1K	\
	yellowstone	\
	yosemite	\
	yucca		\
	zeus		\
"

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

LIST_8220="		\
	Alaska8220	\
	Yukon8220	\
"

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

LIST_824x="		\
	A3000		\
	barco		\
	BMW		\
	CPC45		\
	CU824		\
	debris		\
	eXalion		\
	HIDDEN_DRAGON	\
	linkstation_HGLAN	\
	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		\
	ep82xxm		\
	gw8260		\
	hymod		\
	IPHASE4539	\
	ISPAN		\
	mgcoge		\
	MPC8260ADS	\
	MPC8266ADS	\
	MPC8272ADS	\
	PM826		\
	PM828		\
	ppmc8260	\
	Rattler8248	\
	RPXsuper	\
	rsdproto	\
	sacsng		\
	sbc8260		\
	SCM		\
	TQM8260_AC	\
	TQM8260_AD	\
	TQM8260_AE	\
	TQM8272		\
	ZPC1900		\
"

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

LIST_83xx="		\
	kmeter1		\
	MPC8313ERDB_33	\
	MPC8313ERDB_NAND_66	\
	MPC8315ERDB	\
	MPC8323ERDB	\
	MPC832XEMDS	\
	MPC832XEMDS_ATM	\
	MPC8349EMDS	\
	MPC8349ITX	\
	MPC8349ITXGP	\
	MPC8360EMDS	\
	MPC8360EMDS_ATM	\
	MPC8360ERDK_33	\
	MPC8360ERDK_66	\
	MPC837XEMDS	\
	MPC837XERDB	\
	MVBLM7		\
	sbc8349		\
	SIMPC8313_LP	\
	TQM834x		\
"


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

LIST_85xx="		\
	ATUM8548	\
	MPC8536DS	\
	MPC8540ADS	\
	MPC8540EVAL	\
	MPC8541CDS	\
	MPC8544DS	\
	MPC8548CDS	\
	MPC8555CDS	\
	MPC8560ADS	\
	MPC8568MDS	\
	MPC8572DS	\
	MPC8572DS_36BIT	\
	PM854		\
	PM856		\
	sbc8540		\
	sbc8548		\
	sbc8560		\
	socrates	\
	stxgp3		\
	stxssa		\
	TQM8540		\
	TQM8541		\
	TQM8548		\
	TQM8548_AG	\
	TQM8548_BE	\
	TQM8555		\
	TQM8560		\
	XPEDITE5200	\
	XPEDITE5370	\
"

#########################################################################
## MPC86xx Systems
#########################################################################

LIST_86xx="		\
	MPC8610HPCD	\
	MPC8641HPCN	\
	sbc8641d	\
"

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

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

LIST_7xx="		\
	BAB7xx		\
	CPCI750		\
	ELPPC		\
	p3m750		\
	ppmc7xx		\
"

#########################################################################
## PowerPC groups
#########################################################################

LIST_TSEC="		\
	${LIST_83xx}	\
	${LIST_85xx}	\
	${LIST_86xx}	\
"

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

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

LIST_SA="		\
	assabet		\
	dnp1110		\
	gcplus		\
	lart		\
	shannon		\
"

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

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

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

LIST_ARM9="			\
	ap920t			\
	ap922_XA10		\
	ap926ejs		\
	ap946es			\
	ap966			\
	cp920t			\
	cp922_XA10		\
	cp926ejs		\
	cp946es			\
	cp966			\
	lpd7a400		\
	mx1ads			\
	mx1fs2			\
	netstar			\
	nmdk8815		\
	omap1510inn		\
	omap1610h2		\
	omap1610inn		\
	omap5912osk		\
	omap730p2		\
	sbc2410x		\
	scb9328			\
	smdk2400		\
	smdk2410		\
	trab			\
	VCMA9			\
	versatile		\
	versatileab		\
	versatilepb		\
	voiceblue		\
	davinci_dvevm		\
	davinci_schmoogie	\
	davinci_sffsdr		\
	davinci_sonata		\
"

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

#########################################################################
## ARM11 Systems
#########################################################################
LIST_ARM11="		\
	cp1136		\
	omap2420h4	\
	apollon		\
	imx31_litekit	\
	imx31_phycore	\
	mx31ads		\
	qong		\
	smdk6400	\
"

#########################################################################
## ARM Cortex-A8 Systems
#########################################################################
LIST_ARM_CORTEX_A8="		\
	omap3_beagle		\
	omap3_overo		\
	omap3_evm		\
	omap3_pandora		\
	omap3_zoom1		\
"

#########################################################################
## AT91 Systems
#########################################################################

LIST_at91="		\
	afeb9260	\
	at91cap9adk	\
	at91rm9200dk	\
	at91sam9260ek	\
	at91sam9261ek	\
	at91sam9263ek	\
	at91sam9rlek	\
	cmc_pu2		\
	csb637		\
	kb9202		\
	mp2usb		\
	m501sk		\
"

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

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

LIST_ixp="		\
	actux1		\
	actux2		\
	actux3		\
	actux4		\
	ixdp425		\
	ixdpg425	\
	pdnb3		\
	scpu		\
"

#########################################################################
## ARM groups
#########################################################################

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

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

LIST_mips4kc="		\
	incaip		\
	qemu_mips	\
	vct_platinum	\
	vct_platinum_small	\
	vct_platinum_onenand	\
	vct_platinum_onenand_small	\
	vct_platinumavc	\
	vct_platinumavc_small	\
	vct_platinumavc_onenand	\
	vct_platinumavc_onenand_small	\
	vct_premium	\
	vct_premium_small	\
	vct_premium_onenand	\
	vct_premium_onenand_small	\
"

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

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

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

LIST_I486="		\
	sc520_cdp	\
	sc520_eNET	\
	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="			\
	microblaze-generic		\
	suzaku				\
"

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

LIST_coldfire="			\
	cobra5272		\
	EB+MCF-EV123		\
	EB+MCF-EV123_internal	\
	idmr			\
	M52277EVB		\
	M5235EVB		\
	M5249EVB		\
	M5253DEMO		\
	M5253EVBE		\
	M5271EVB		\
	M5272C3			\
	M5275EVB		\
	M5282EVB		\
	M53017EVB		\
	M5329AFEE		\
	M5373EVB		\
	M54451EVB		\
	M54455EVB		\
	M5475AFE		\
	M5485AFE		\
	TASREG			\
"

#########################################################################
## AVR32 Systems
#########################################################################

LIST_avr32="		\
	atstk1002	\
	atstk1003	\
	atstk1004	\
	atstk1006	\
	atngw100	\
	favr-32-ezkit	\
	hammerhead	\
	mimc200		\
"

#########################################################################
## Blackfin Systems
#########################################################################

LIST_blackfin="		\
	bf533-ezkit	\
	bf533-stamp	\
	bf537-stamp	\
	bf561-ezkit	\
"

#########################################################################
## SH Systems
#########################################################################

LIST_sh2="		\
	rsk7203		\
"
LIST_sh3="		\
	mpr2		\
	ms7720se	\
"

LIST_sh4="		\
	ms7750se	\
	ms7722se	\
	MigoR		\
	r7780mp		\
	r2dplus		\
	sh7763rdp	\
	sh7785lcr	\
	ap325rxa	\
"

LIST_sh="		\
	${LIST_sh2}	\
	${LIST_sh3}	\
	${LIST_sh4}	\
"

#########################################################################
## SPARC Systems
#########################################################################

LIST_sparc="gr_xc3s_1500	gr_cpci_ax2000	gr_ep2s60	grsim	grsim_leon2"

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

#----- 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_DIR}/$target.MAKELOG \
				| tee ${LOG_DIR}/$target.ERR

	${CROSS_COMPILE}size ${BUILD_DIR}/u-boot \
				| tee -a ${LOG_DIR}/$target.MAKELOG
}

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


for arg in $@
do
	case "$arg" in
	arm|SA|ARM7|ARM9|ARM10|ARM11|ARM_CORTEX_A8|at91|ixp|pxa \
	|avr32 \
	|blackfin \
	|coldfire \
	|microblaze \
	|mips|mips_el \
	|nios|nios2 \
	|ppc|5xx|5xxx|512x|8xx|8220|824x|8260|83xx|85xx|86xx|4xx|7xx|74xx|TSEC \
	|sh|sh2|sh3|sh4 \
	|sparc \
	|x86|I486 \
	)
			for target in `eval echo '$LIST_'${arg}`
			do
				build_target ${target}
			done
			;;
	*)		build_target ${arg}
			;;
	esac
done
