#!/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	\
	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		\
	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		\
	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="		\
	MPC8313ERDB_33	\
	MPC8313ERDB_NAND_66	\
	MPC8315ERDB	\
	MPC8323ERDB	\
	MPC832XEMDS	\
	MPC832XEMDS_ATM	\
	MPC8349EMDS	\
	MPC8349ITX	\
	MPC8349ITXGP	\
	MPC8360EMDS	\
	MPC8360EMDS_ATM	\
	MPC8360ERDK_33	\
	MPC8360ERDK_66	\
	MPC837XEMDS	\
	MPC837XERDB	\
	MVBLM7		\
	sbc8349		\
	TQM834x		\
"


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

LIST_85xx="		\
	ATUM8548	\
	MPC8536DS	\
	MPC8540ADS	\
	MPC8540EVAL	\
	MPC8541CDS	\
	MPC8544DS	\
	MPC8548CDS	\
	MPC8555CDS	\
	MPC8560ADS	\
	MPC8568MDS	\
	MPC8572DS	\
	PM854		\
	PM856		\
	sbc8540		\
	sbc8548		\
	sbc8560		\
	socrates	\
	stxgp3		\
	stxssa		\
	TQM8540		\
	TQM8541		\
	TQM8548		\
	TQM8555		\
	TQM8560		\
	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			\
	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		\
	smdk6400	\
"

#########################################################################
## 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_at91}	\
	${LIST_pxa}	\
	${LIST_ixp}	\
"

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

LIST_mips4kc="		\
	incaip		\
	qemu_mips	\
"

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_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="	\
	ml401		\
	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|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
