mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-27 15:12:21 +00:00
7fa6a2f3b6
Add logic to the MAKEALL script to determine the number of CPU cores on the system, and run a parallel build if there is more than one. Usually this significantrly accelerates builds. Allow to manually adjust the number of parallel make jobs by using the "BUILD_NCPUS" environment variable. Signed-off-by: Wolfgang Denk <wd@denx.de>
839 lines
14 KiB
Bash
Executable file
839 lines
14 KiB
Bash
Executable file
#!/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 \
|
|
"
|
|
|
|
#########################################################################
|
|
## 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 \
|
|
xupv2p \
|
|
"
|
|
|
|
#########################################################################
|
|
## 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
|