Skip to content
Snippets Groups Projects
MAKEALL 16.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • Wolfgang Denk's avatar
    Wolfgang Denk committed
    #!/bin/sh
    
    
    # Print statistics when we exit
    trap exit 1 2 3 15
    trap print_stats 0
    
    
    # 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
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    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
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    LIST=""
    
    
    # Keep track of the number of builds and errors
    ERR_CNT=0
    ERR_LIST=""
    TOTAL_CNT=0
    
    
    #########################################################################
    ## MPC5xx Systems
    #########################################################################
    
    
    LIST_5xx="		\
    	cmi_mpc5xx	\
    
    #########################################################################
    ## MPC5xxx Systems
    #########################################################################
    
    
    LIST_5xxx="		\
    	BC3450		\
    	cm5200		\
    	cpci5200	\
    
    	EVAL5200	\
    	fo300		\
    
    	galaxy5200	\
    
    	icecube_5100	\
    	icecube_5200	\
    
    	inka4x0		\
    
    	lite5200b	\
    	mcc200		\
    	mecp5200	\
    	motionpro	\
    
    	MVBC_P		\
    
    	pf5200		\
    	PM520		\
    	TB5200		\
    	Total5100	\
    	Total5200	\
    	Total5200_Rev2	\
    	TQM5200		\
    	TQM5200_B	\
    	TQM5200S	\
    	v38b		\
    
    #########################################################################
    ## MPC512x Systems
    #########################################################################
    
    
    	mpc5121ads	\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #########################################################################
    ## 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		\
    
    	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	\
    
    	TOP860		\
    	TQM823L		\
    	TQM823L_LCD	\
    	TQM850L		\
    	TQM855L		\
    	TQM860L		\
    	TQM885D		\
    	uc100		\
    	v37		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    "
    
    #########################################################################
    ## PPC4xx Systems
    #########################################################################
    
    
    LIST_4xx="		\
    	acadia		\
    	acadia_nand	\
    	ADCIOP		\
    	alpr		\
    	AP1000		\
    	AR405		\
    
    	ASH405		\
    	bamboo		\
    	bamboo_nand	\
    	bubinga		\
    	CANBT		\
    
    	canyonlands_nand \
    
    	CMS700		\
    	CPCI2DP		\
    	CPCI405		\
    	CPCI4052	\
    	CPCI405AB	\
    	CPCI405DT	\
    	CPCIISER4	\
    	CRAYL1		\
    	csb272		\
    	csb472		\
    	DASA_SIM	\
    
    	ebony		\
    	ERIC		\
    	EXBITGEN	\
    
    	METROBOX	\
    	MIP405		\
    	MIP405T		\
    	ML2		\
    	ml300		\
    
    	ml507		\
    
    	ocotea		\
    	OCRTC		\
    	ORSG		\
    	p3p440		\
    	PCI405		\
    	pcs440ep	\
    	PIP405		\
    	PLU405		\
    	PMC405		\
    
    	PPChameleonEVB	\
    
    	sbc405		\
    	sc3		\
    	sequoia		\
    	sequoia_nand	\
    
    	v5fx30teval	\
    	v5fx30teval_flash \
    
    	VOH405		\
    	VOM405		\
    	W7OLMC		\
    	W7OLMG		\
    	walnut		\
    	WUH405		\
    
    	xilinx-ppc440-generic \
    	xilinx-ppc440-generic_flash \
    
    	XPEDITE1000	\
    
    	yellowstone	\
    	yosemite	\
    	yucca		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    "
    
    
    #########################################################################
    ## MPC8220 Systems
    #########################################################################
    
    
    LIST_8220="		\
    	Alaska8220	\
    	Yukon8220	\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #########################################################################
    ## MPC824x Systems
    #########################################################################
    
    
    LIST_824x="		\
    	A3000		\
    	barco		\
    	BMW		\
    	CPC45		\
    	CU824		\
    	debris		\
    	eXalion		\
    	HIDDEN_DRAGON	\
    
    	MOUSSE		\
    	MUSENKI		\
    	MVBLUE		\
    	OXC		\
    	PN62		\
    	Sandpoint8240	\
    	Sandpoint8245	\
    	sbc8240		\
    	SL8245		\
    	utx8245		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    "
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #########################################################################
    
    ## MPC8260 Systems (includes 8250, 8255 etc.)
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #########################################################################
    
    
    LIST_8260="		\
    	atc		\
    	cogent_mpc8260	\
    	CPU86		\
    	CPU87		\
    	ep8248		\
    	ep8260		\
    	ep82xxm		\
    	gw8260		\
    	hymod		\
    	IPHASE4539	\
    	ISPAN		\
    
    	MPC8260ADS	\
    	MPC8266ADS	\
    	MPC8272ADS	\
    	PM826		\
    	PM828		\
    	ppmc8260	\
    	Rattler8248	\
    	RPXsuper	\
    	rsdproto	\
    	sacsng		\
    	sbc8260		\
    	SCM		\
    	TQM8260_AC	\
    	TQM8260_AD	\
    	TQM8260_AE	\
    
    	TQM8272		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    "
    
    
    Eran Liberty's avatar
    Eran Liberty committed
    #########################################################################
    ## MPC83xx Systems (includes 8349, etc.)
    #########################################################################
    
    
    	MPC8313ERDB_33	\
    
    	MPC8313ERDB_NAND_66	\
    
    	MPC832XEMDS_ATM	\
    
    	MPC8349EMDS	\
    	MPC8349ITX	\
    	MPC8349ITXGP	\
    	MPC8360EMDS	\
    
    	MPC8360EMDS_ATM	\
    
    	MPC8360ERDK_33	\
    	MPC8360ERDK_66	\
    
    	MPC837XERDB	\
    
    	SIMPC8313_LP	\
    
    #########################################################################
    ## MPC85xx Systems (includes 8540, 8560 etc.)
    #########################################################################
    
    
    	MPC8540ADS	\
    	MPC8540EVAL	\
    	MPC8541CDS	\
    	MPC8544DS	\
    	MPC8548CDS	\
    	MPC8555CDS	\
    	MPC8560ADS	\
    	MPC8568MDS	\
    
    	MPC8569MDS	\
    
    	P2020DS		\
    	P2020DS_36BIT	\
    
    	P1020RDB	\
    
    	PM854		\
    	PM856		\
    	sbc8540		\
    
    	stxgp3		\
    	stxssa		\
    	TQM8540		\
    	TQM8541		\
    
    	TQM8555		\
    	TQM8560		\
    
    Peter Tyser's avatar
    Peter Tyser committed
    	XPEDITE5200	\
    
    Peter Tyser's avatar
    Peter Tyser committed
    	XPEDITE5370	\
    
    #########################################################################
    ## MPC86xx Systems
    #########################################################################
    
    
    	MPC8610HPCD	\
    
    	sbc8641d	\
    
    	XPEDITE5170	\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #########################################################################
    ## 74xx/7xx Systems
    #########################################################################
    
    
    LIST_74xx="		\
    	DB64360		\
    	DB64460		\
    	EVB64260	\
    	mpc7448hpc2	\
    	P3G4		\
    	p3m7448		\
    	PCIPPC2		\
    	PCIPPC6		\
    	ZUMA		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    "
    
    
    LIST_7xx="		\
    	BAB7xx		\
    	CPCI750		\
    	ELPPC		\
    	p3m750		\
    	ppmc7xx		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    "
    
    
    #########################################################################
    ## PowerPC groups
    #########################################################################
    
    LIST_TSEC="		\
    	${LIST_83xx}	\
    	${LIST_85xx}	\
    	${LIST_86xx}	\
    "
    
    
    LIST_ppc="		\
    	${LIST_5xx}	\
    
    	${LIST_5xxx}	\
    	${LIST_8xx}	\
    	${LIST_8220}	\
    	${LIST_824x}	\
    	${LIST_8260}	\
    	${LIST_83xx}	\
    	${LIST_85xx}	\
    	${LIST_86xx}	\
    	${LIST_4xx}	\
    	${LIST_74xx}	\
    	${LIST_7xx}	\
    "
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    #########################################################################
    ## StrongARM Systems
    #########################################################################
    
    
    LIST_SA="		\
    	assabet		\
    	dnp1110		\
    	gcplus		\
    	lart		\
    	shannon		\
    "
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    #########################################################################
    ## ARM7 Systems
    #########################################################################
    
    
    LIST_ARM7="		\
    	ap7		\
    	ap720t		\
    	armadillo	\
    	B2		\
    	ep7312		\
    	evb4510		\
    	impa7		\
    	integratorap	\
    	lpc2292sodimm	\
    	modnet50	\
    	SMN42		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    #########################################################################
    ## ARM9 Systems
    #########################################################################
    
    
    LIST_ARM9="			\
    	ap920t			\
    	ap922_XA10		\
    	ap926ejs		\
    	ap946es			\
    	ap966			\
    	cp920t			\
    	cp922_XA10		\
    	cp926ejs		\
    	cp946es			\
    	cp966			\
    
    	mv88f6281gtw_ge		\
    
    	mx1ads			\
    	mx1fs2			\
    	netstar			\
    
    	nhk8815			\
    	nhk8815_onenand		\
    
    	omap1510inn		\
    	omap1610h2		\
    	omap1610inn		\
    
    	omap5912osk		\
    
    	rd6281a			\
    
    	sbc2410x		\
    	scb9328			\
    
    	sheevaplug		\
    
    	smdk2400		\
    	smdk2410		\
    	trab			\
    	VCMA9			\
    	versatile		\
    	versatileab		\
    	versatilepb		\
    	voiceblue		\
    	davinci_dvevm		\
    	davinci_schmoogie	\
    
    	davinci_sonata		\
    
    David Brownell's avatar
    David Brownell committed
    	davinci_dm355evm	\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    #########################################################################
    ## ARM10 Systems
    #########################################################################
    
    LIST_ARM10="		\
    	integratorcp	\
    	cp1026		\
    
    #########################################################################
    ## ARM11 Systems
    #########################################################################
    
    LIST_ARM11="			\
    	cp1136			\
    	omap2420h4		\
    	apollon			\
    	imx31_litekit		\
    	imx31_phycore		\
    	imx31_phycore_eet	\
    	mx31ads			\
    
    #########################################################################
    ## ARM Cortex-A8 Systems
    #########################################################################
    LIST_ARM_CORTEX_A8="		\
    
    Dirk Behme's avatar
    Dirk Behme committed
    	omap3_overo		\
    
    Dirk Behme's avatar
    Dirk Behme committed
    	omap3_evm		\
    
    Dirk Behme's avatar
    Dirk Behme committed
    	omap3_pandora		\
    
    	omap3_zoom1		\
    
    	omap3_zoom2		\
    
    #########################################################################
    ## AT91 Systems
    #########################################################################
    
    
    LIST_at91="			\
    	afeb9260		\
    	at91cap9adk		\
    	at91rm9200dk		\
    	at91rm9200ek		\
    	at91sam9260ek		\
    	at91sam9261ek		\
    	at91sam9263ek		\
    
    	at91sam9g10ek	\
    
    	at91sam9g20ek		\
    
    	at91sam9m10g45ek	\
    
    	at91sam9rlek		\
    	cmc_pu2			\
    	csb637			\
    	kb9202			\
    	meesc			\
    	mp2usb			\
    	m501sk			\
    	pm9261			\
    	pm9263			\
    
    	SBC35_A9G20		\
    	TNY_A9260		\
    	TNY_A9G20		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #########################################################################
    ## Xscale Systems
    #########################################################################
    
    
    LIST_pxa="		\
    	cerf250		\
    	cradle		\
    	csb226		\
    	delta		\
    	innokom		\
    	lubbock		\
    	pleb2		\
    
    	wepep250	\
    	xaeniax		\
    	xm250		\
    	xsengine	\
    	zylonite	\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    	actux1		\
    	actux2		\
    	actux3		\
    	actux4		\
    
    	ixdp425		\
    	ixdpg425	\
    	pdnb3		\
    	scpu		\
    "
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    #########################################################################
    ## ARM groups
    #########################################################################
    
    LIST_arm="			\
    	${LIST_SA}		\
    	${LIST_ARM7}		\
    	${LIST_ARM9}		\
    	${LIST_ARM10}		\
    	${LIST_ARM11}		\
    	${LIST_ARM_CORTEX_A8}	\
    	${LIST_at91}		\
    	${LIST_pxa}		\
    	${LIST_ixp}		\
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    #########################################################################
    
    ## 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	\
    
    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		\
    
    #########################################################################
    ## ColdFire Systems
    #########################################################################
    
    
    LIST_coldfire="			\
    	cobra5272		\
    	EB+MCF-EV123		\
    	EB+MCF-EV123_internal	\
    	idmr			\
    
    	M5271EVB		\
    	M5272C3			\
    
    	M5275EVB		\
    
    	M5329AFEE		\
    	M5373EVB		\
    
    	M54455EVB		\
    
    #########################################################################
    ## AVR32 Systems
    #########################################################################
    
    
    LIST_avr32="		\
    	atstk1002	\
    
    	atngw100	\
    
    Mark Jackson's avatar
    Mark Jackson committed
    	mimc200		\
    
    #########################################################################
    ## Blackfin Systems
    #########################################################################
    
    
    LIST_blackfin="		\
    
    	bf518f-ezbrd	\
    
    	bf526-ezbrd	\
    
    	bf527-ezkit	\
    
    	bf533-ezkit	\
    	bf533-stamp	\
    
    	bf537-minotaur	\
    
    	bf537-pnav	\
    
    	bf537-srv1	\
    
    	bf538f-ezkit	\
    
    	bf548-ezkit	\
    
    	blackstamp	\
    
    	cm-bf527	\
    
    	cm-bf533	\
    
    	cm-bf537e	\
    
    	cm-bf548	\
    
    	cm-bf561	\
    
    	ibf-dsp561	\
    
    	tcm-bf537	\
    
    #########################################################################
    ## SH Systems
    #########################################################################
    
    
    LIST_sh2="		\
    	rsk7203		\
    "
    
    LIST_sh3="		\
    	mpr2		\
    	ms7720se	\
    "
    
    
    #########################################################################
    ## SPARC Systems
    #########################################################################
    
    
    LIST_sparc="gr_xc3s_1500	gr_cpci_ax2000	gr_ep2s60	grsim	grsim_leon2"
    
    #-----------------------------------------------------------------------
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    #----- 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
    
    	if [ -s ${LOG_DIR}/$target.ERR ] ; then
    		ERR_CNT=$((ERR_CNT + 1))
    		ERR_LIST="${ERR_LIST} $target"
    	else
    		rm ${LOG_DIR}/$target.ERR
    	fi
    
    	TOTAL_CNT=$((TOTAL_CNT + 1))
    
    	${CROSS_COMPILE}size ${BUILD_DIR}/u-boot \
    
    				| tee -a ${LOG_DIR}/$target.MAKELOG
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    }
    
    #-----------------------------------------------------------------------
    
    
    print_stats() {
    	echo ""
    	echo "--------------------- SUMMARY ----------------------------"
    	echo "Boards compiled: ${TOTAL_CNT}"
    	if [ ${ERR_CNT} -gt 0 ] ; then
    		echo "Boards with warnings or errors: ${ERR_CNT} (${ERR_LIST} )"
    	fi
    	echo "----------------------------------------------------------"
    }
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    #-----------------------------------------------------------------------
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    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 \
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    			for target in `eval echo '$LIST_'${arg}`
    			do
    				build_target ${target}
    			done
    			;;
    	*)		build_target ${arg}
    			;;
    	esac
    done