]> git.ipfire.org Git - people/ms/u-boot.git/blob - MAKEALL
Merge branch 'master' of git://git.denx.de/u-boot-arm
[people/ms/u-boot.git] / MAKEALL
1 #!/bin/bash
2
3 # Print statistics when we exit
4 trap exit 1 2 3 15
5 trap print_stats 0
6
7 # Determine number of CPU cores if no default was set
8 : ${BUILD_NCPUS:="`getconf _NPROCESSORS_ONLN`"}
9
10 if [ "$BUILD_NCPUS" -gt 1 ]
11 then
12 JOBS="-j $((BUILD_NCPUS + 1))"
13 else
14 JOBS=""
15 fi
16
17
18 if [ "${CROSS_COMPILE}" ] ; then
19 MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
20 else
21 MAKE=make
22 fi
23
24 if [ "${MAKEALL_LOGDIR}" ] ; then
25 LOG_DIR=${MAKEALL_LOGDIR}
26 else
27 LOG_DIR="LOG"
28 fi
29
30 if [ ! "${BUILD_DIR}" ] ; then
31 BUILD_DIR="."
32 fi
33
34 [ -d ${LOG_DIR} ] || mkdir ${LOG_DIR} || exit 1
35
36 LIST=""
37
38 # Keep track of the number of builds and errors
39 ERR_CNT=0
40 ERR_LIST=""
41 TOTAL_CNT=0
42 RC=0
43
44 #########################################################################
45 ## MPC5xx Systems
46 #########################################################################
47
48 LIST_5xx=" \
49 cmi_mpc5xx \
50 "
51
52 #########################################################################
53 ## MPC5xxx Systems
54 #########################################################################
55
56 LIST_5xxx=" \
57 BC3450 \
58 cm5200 \
59 cpci5200 \
60 digsy_mtc \
61 EVAL5200 \
62 fo300 \
63 galaxy5200 \
64 icecube_5100 \
65 icecube_5200 \
66 inka4x0 \
67 ipek01 \
68 lite5200b \
69 mcc200 \
70 mecp5200 \
71 motionpro \
72 munices \
73 MVBC_P \
74 o2dnt \
75 pcm030 \
76 pf5200 \
77 PM520 \
78 TB5200 \
79 Total5100 \
80 Total5200 \
81 Total5200_Rev2 \
82 TQM5200 \
83 TQM5200_B \
84 TQM5200S \
85 v38b \
86 "
87
88 #########################################################################
89 ## MPC512x Systems
90 #########################################################################
91
92 LIST_512x=" \
93 aria \
94 mecp5123 \
95 mpc5121ads \
96 "
97
98 #########################################################################
99 ## MPC8xx Systems
100 #########################################################################
101 LIST_8xx=" \
102 Adder87x \
103 AdderII \
104 ADS860 \
105 AMX860 \
106 c2mon \
107 CCM \
108 cogent_mpc8xx \
109 ELPT860 \
110 EP88x \
111 ESTEEM192E \
112 ETX094 \
113 FADS823 \
114 FADS850SAR \
115 FADS860T \
116 FLAGADM \
117 FPS850L \
118 GEN860T \
119 GEN860T_SC \
120 GENIETV \
121 GTH \
122 hermes \
123 IAD210 \
124 ICU862_100MHz \
125 IP860 \
126 IVML24 \
127 IVML24_128 \
128 IVML24_256 \
129 IVMS8 \
130 IVMS8_128 \
131 IVMS8_256 \
132 KUP4K \
133 KUP4X \
134 LANTEC \
135 lwmon \
136 kmsupx4 \
137 MBX \
138 MBX860T \
139 mgsuvd \
140 MHPC \
141 MPC86xADS \
142 MPC885ADS \
143 NETPHONE \
144 NETTA \
145 NETTA2 \
146 NETTA_ISDN \
147 NETVIA \
148 NETVIA_V2 \
149 NX823 \
150 pcu_e \
151 QS823 \
152 QS850 \
153 QS860T \
154 quantum \
155 R360MPI \
156 RBC823 \
157 rmu \
158 RPXClassic \
159 RPXlite \
160 RPXlite_DW \
161 RRvision \
162 SM850 \
163 spc1920 \
164 SPD823TS \
165 svm_sc8xx \
166 SXNI855T \
167 TK885D \
168 TOP860 \
169 TQM823L \
170 TQM823L_LCD \
171 TQM850L \
172 TQM855L \
173 TQM860L \
174 TQM885D \
175 uc100 \
176 v37 \
177 "
178
179 #########################################################################
180 ## PPC4xx Systems
181 #########################################################################
182
183 LIST_4xx=" \
184 acadia \
185 acadia_nand \
186 ADCIOP \
187 alpr \
188 AP1000 \
189 AR405 \
190 arches \
191 ASH405 \
192 bamboo \
193 bamboo_nand \
194 bubinga \
195 CANBT \
196 canyonlands \
197 canyonlands_nand \
198 CMS700 \
199 CPCI2DP \
200 CPCI405 \
201 CPCI4052 \
202 CPCI405AB \
203 CPCI405DT \
204 CPCIISER4 \
205 CRAYL1 \
206 csb272 \
207 csb472 \
208 DASA_SIM \
209 devconcenter \
210 dlvision \
211 DP405 \
212 DU405 \
213 DU440 \
214 ebony \
215 ERIC \
216 EXBITGEN \
217 fx12mm \
218 G2000 \
219 gdppc440etx \
220 glacier \
221 haleakala \
222 haleakala_nand \
223 hcu4 \
224 hcu5 \
225 HH405 \
226 HUB405 \
227 intip \
228 JSE \
229 KAREF \
230 katmai \
231 kilauea \
232 kilauea_nand \
233 korat \
234 luan \
235 lwmon5 \
236 makalu \
237 mcu25 \
238 METROBOX \
239 MIP405 \
240 MIP405T \
241 ML2 \
242 ml300 \
243 ml507 \
244 ml507_flash \
245 neo \
246 ocotea \
247 OCRTC \
248 ORSG \
249 p3p440 \
250 PCI405 \
251 pcs440ep \
252 PIP405 \
253 PLU405 \
254 PMC405 \
255 PMC405DE \
256 PMC440 \
257 PPChameleonEVB \
258 quad100hd \
259 rainier \
260 redwood \
261 sbc405 \
262 sc3 \
263 sequoia \
264 sequoia_nand \
265 taihu \
266 taishan \
267 v5fx30teval \
268 v5fx30teval_flash \
269 VOH405 \
270 VOM405 \
271 W7OLMC \
272 W7OLMG \
273 walnut \
274 WUH405 \
275 xilinx-ppc440-generic \
276 xilinx-ppc440-generic_flash \
277 XPEDITE1000 \
278 yellowstone \
279 yosemite \
280 yucca \
281 zeus \
282 "
283
284 #########################################################################
285 ## MPC8220 Systems
286 #########################################################################
287
288 LIST_8220=" \
289 Alaska8220 \
290 Yukon8220 \
291 "
292
293 #########################################################################
294 ## MPC824x Systems
295 #########################################################################
296
297 LIST_824x=" \
298 A3000 \
299 barco \
300 BMW \
301 CPC45 \
302 CU824 \
303 debris \
304 eXalion \
305 HIDDEN_DRAGON \
306 IDS8247 \
307 linkstation_HGLAN \
308 MOUSSE \
309 MUSENKI \
310 MVBLUE \
311 OXC \
312 PN62 \
313 Sandpoint8240 \
314 Sandpoint8245 \
315 sbc8240 \
316 SL8245 \
317 utx8245 \
318 "
319
320 #########################################################################
321 ## MPC8260 Systems (includes 8250, 8255 etc.)
322 #########################################################################
323
324 LIST_8260=" \
325 atc \
326 cogent_mpc8260 \
327 CPU86 \
328 CPU87 \
329 ep8248 \
330 ep8260 \
331 ep82xxm \
332 gw8260 \
333 hymod \
334 IPHASE4539 \
335 ISPAN \
336 mgcoge \
337 MPC8260ADS \
338 MPC8266ADS \
339 MPC8272ADS \
340 PM826 \
341 PM828 \
342 ppmc8260 \
343 Rattler8248 \
344 RPXsuper \
345 rsdproto \
346 sacsng \
347 sbc8260 \
348 SCM \
349 TQM8260_AC \
350 TQM8260_AD \
351 TQM8260_AE \
352 TQM8272 \
353 ZPC1900 \
354 "
355
356 #########################################################################
357 ## MPC83xx Systems (includes 8349, etc.)
358 #########################################################################
359
360 LIST_83xx=" \
361 caddy2 \
362 kmeter1 \
363 MPC8313ERDB_33 \
364 MPC8313ERDB_NAND_66 \
365 MPC8315ERDB \
366 MPC8315ERDB_NAND \
367 MPC8323ERDB \
368 MPC832XEMDS \
369 MPC832XEMDS_ATM \
370 MPC8349EMDS \
371 MPC8349ITX \
372 MPC8349ITXGP \
373 MPC8360EMDS \
374 MPC8360EMDS_ATM \
375 MPC8360ERDK_33 \
376 MPC8360ERDK_66 \
377 MPC837XEMDS \
378 MPC837XERDB \
379 MVBLM7 \
380 sbc8349 \
381 SIMPC8313_LP \
382 TQM834x \
383 vme8349 \
384 "
385
386
387 #########################################################################
388 ## MPC85xx Systems (includes 8540, 8560 etc.)
389 #########################################################################
390
391 LIST_85xx=" \
392 ATUM8548 \
393 MPC8536DS \
394 MPC8536DS_NAND \
395 MPC8536DS_SDCARD \
396 MPC8536DS_SPIFLASH \
397 MPC8540ADS \
398 MPC8540EVAL \
399 MPC8541CDS \
400 MPC8544DS \
401 MPC8548CDS \
402 MPC8555CDS \
403 MPC8560ADS \
404 MPC8568MDS \
405 MPC8569MDS \
406 MPC8572DS \
407 MPC8572DS_36BIT \
408 P2020DS \
409 P2020DS_36BIT \
410 P1011RDB \
411 P1011RDB_NAND \
412 P1011RDB_SDCARD \
413 P1011RDB_SPIFLASH \
414 P1020RDB \
415 P1020RDB_NAND \
416 P1020RDB_SDCARD \
417 P1020RDB_SPIFLASH \
418 P2010RDB \
419 P2010RDB_NAND \
420 P2010RDB_SDCARD \
421 P2010RDB_SPIFLASH \
422 P2020RDB \
423 P2020RDB_NAND \
424 P2020RDB_SDCARD \
425 P2020RDB_SPIFLASH \
426 PM854 \
427 PM856 \
428 sbc8540 \
429 sbc8548 \
430 sbc8548_PCI_33 \
431 sbc8548_PCI_66 \
432 sbc8548_PCI_33_PCIE \
433 sbc8548_PCI_66_PCIE \
434 sbc8560 \
435 socrates \
436 stxgp3 \
437 stxssa \
438 TQM8540 \
439 TQM8541 \
440 TQM8548 \
441 TQM8548_AG \
442 TQM8548_BE \
443 TQM8555 \
444 TQM8560 \
445 XPEDITE5200 \
446 XPEDITE5370 \
447 "
448
449 #########################################################################
450 ## MPC86xx Systems
451 #########################################################################
452
453 LIST_86xx=" \
454 MPC8610HPCD \
455 MPC8641HPCN \
456 sbc8641d \
457 XPEDITE5170 \
458 "
459
460 #########################################################################
461 ## 74xx/7xx Systems
462 #########################################################################
463
464 LIST_74xx=" \
465 DB64360 \
466 DB64460 \
467 EVB64260 \
468 mpc7448hpc2 \
469 P3G4 \
470 p3m7448 \
471 PCIPPC2 \
472 PCIPPC6 \
473 ZUMA \
474 "
475
476 LIST_7xx=" \
477 BAB7xx \
478 CPCI750 \
479 ELPPC \
480 p3m750 \
481 ppmc7xx \
482 "
483
484 #########################################################################
485 ## PowerPC groups
486 #########################################################################
487
488 LIST_TSEC=" \
489 ${LIST_83xx} \
490 ${LIST_85xx} \
491 ${LIST_86xx} \
492 "
493
494 LIST_ppc=" \
495 ${LIST_5xx} \
496 ${LIST_512x} \
497 ${LIST_5xxx} \
498 ${LIST_8xx} \
499 ${LIST_8220} \
500 ${LIST_824x} \
501 ${LIST_8260} \
502 ${LIST_83xx} \
503 ${LIST_85xx} \
504 ${LIST_86xx} \
505 ${LIST_4xx} \
506 ${LIST_74xx} \
507 ${LIST_7xx} \
508 "
509
510 #########################################################################
511 ## StrongARM Systems
512 #########################################################################
513
514 LIST_SA=" \
515 assabet \
516 dnp1110 \
517 gcplus \
518 lart \
519 shannon \
520 "
521
522 #########################################################################
523 ## ARM7 Systems
524 #########################################################################
525
526 LIST_ARM7=" \
527 ap7 \
528 ap720t \
529 armadillo \
530 B2 \
531 ep7312 \
532 evb4510 \
533 impa7 \
534 integratorap \
535 lpc2292sodimm \
536 modnet50 \
537 SMN42 \
538 "
539
540 #########################################################################
541 ## ARM9 Systems
542 #########################################################################
543
544 LIST_ARM9=" \
545 a320evb \
546 ap920t \
547 ap922_XA10 \
548 ap926ejs \
549 ap946es \
550 ap966 \
551 cp920t \
552 cp922_XA10 \
553 cp926ejs \
554 cp946es \
555 cp966 \
556 da830evm \
557 imx27lite \
558 lpd7a400 \
559 mv88f6281gtw_ge \
560 mx1ads \
561 mx1fs2 \
562 netstar \
563 nhk8815 \
564 nhk8815_onenand \
565 omap1510inn \
566 omap1610h2 \
567 omap1610inn \
568 omap5912osk \
569 omap730p2 \
570 openrd_base \
571 rd6281a \
572 sbc2410x \
573 scb9328 \
574 sheevaplug \
575 smdk2400 \
576 smdk2410 \
577 trab \
578 VCMA9 \
579 versatile \
580 versatileab \
581 versatilepb \
582 voiceblue \
583 davinci_dvevm \
584 davinci_schmoogie \
585 davinci_sffsdr \
586 davinci_sonata \
587 davinci_dm355evm \
588 davinci_dm355leopard \
589 davinci_dm6467evm \
590 "
591
592 #########################################################################
593 ## ARM10 Systems
594 #########################################################################
595 LIST_ARM10=" \
596 integratorcp \
597 cp1026 \
598 "
599
600 #########################################################################
601 ## ARM11 Systems
602 #########################################################################
603 LIST_ARM11=" \
604 cp1136 \
605 omap2420h4 \
606 apollon \
607 imx31_litekit \
608 imx31_phycore \
609 imx31_phycore_eet \
610 mx31ads \
611 mx31pdk \
612 mx31pdk_nand \
613 qong \
614 smdk6400 \
615 "
616
617 #########################################################################
618 ## ARM Cortex-A8 Systems
619 #########################################################################
620 LIST_ARM_CORTEX_A8=" \
621 devkit8000 \
622 omap3_beagle \
623 omap3_overo \
624 omap3_evm \
625 omap3_pandora \
626 omap3_sdp3430 \
627 omap3_zoom1 \
628 omap3_zoom2 \
629 smdkc100 \
630 "
631
632 #########################################################################
633 ## AT91 Systems
634 #########################################################################
635
636 LIST_at91=" \
637 afeb9260 \
638 at91cap9adk \
639 at91rm9200dk \
640 at91rm9200ek \
641 at91sam9260ek \
642 at91sam9261ek \
643 at91sam9263ek \
644 at91sam9g10ek \
645 at91sam9g20ek \
646 at91sam9m10g45ek \
647 at91sam9rlek \
648 cmc_pu2 \
649 CPUAT91 \
650 CPU9260 \
651 CPU9G20 \
652 csb637 \
653 kb9202 \
654 meesc \
655 mp2usb \
656 m501sk \
657 pm9261 \
658 pm9263 \
659 SBC35_A9G20 \
660 TNY_A9260 \
661 TNY_A9G20 \
662 "
663
664 #########################################################################
665 ## Xscale Systems
666 #########################################################################
667
668 LIST_pxa=" \
669 cerf250 \
670 cradle \
671 csb226 \
672 delta \
673 innokom \
674 lubbock \
675 pleb2 \
676 polaris \
677 pxa255_idp \
678 trizepsiv \
679 wepep250 \
680 xaeniax \
681 xm250 \
682 xsengine \
683 zylonite \
684 "
685
686 LIST_ixp=" \
687 actux1 \
688 actux2 \
689 actux3 \
690 actux4 \
691 ixdp425 \
692 ixdpg425 \
693 pdnb3 \
694 scpu \
695 "
696
697 #########################################################################
698 ## ARM groups
699 #########################################################################
700
701 LIST_arm=" \
702 ${LIST_SA} \
703 ${LIST_ARM7} \
704 ${LIST_ARM9} \
705 ${LIST_ARM10} \
706 ${LIST_ARM11} \
707 ${LIST_ARM_CORTEX_A8} \
708 ${LIST_at91} \
709 ${LIST_pxa} \
710 ${LIST_ixp} \
711 "
712
713 #########################################################################
714 ## MIPS Systems (default = big endian)
715 #########################################################################
716
717 LIST_mips4kc=" \
718 incaip \
719 qemu_mips \
720 vct_platinum \
721 vct_platinum_small \
722 vct_platinum_onenand \
723 vct_platinum_onenand_small \
724 vct_platinumavc \
725 vct_platinumavc_small \
726 vct_platinumavc_onenand \
727 vct_platinumavc_onenand_small \
728 vct_premium \
729 vct_premium_small \
730 vct_premium_onenand \
731 vct_premium_onenand_small \
732 "
733
734 LIST_mips5kc=" \
735 purple \
736 "
737
738 LIST_au1xx0=" \
739 dbau1000 \
740 dbau1100 \
741 dbau1500 \
742 dbau1550 \
743 dbau1550_el \
744 gth2 \
745 "
746
747 LIST_mips=" \
748 ${LIST_mips4kc} \
749 ${LIST_mips5kc} \
750 ${LIST_au1xx0} \
751 "
752
753 #########################################################################
754 ## MIPS Systems (little endian)
755 #########################################################################
756
757 LIST_mips4kc_el=""
758
759 LIST_mips5kc_el=""
760
761 LIST_au1xx0_el=" \
762 dbau1550_el \
763 pb1000 \
764 "
765
766 LIST_mips_el=" \
767 ${LIST_mips4kc_el} \
768 ${LIST_mips5kc_el} \
769 ${LIST_au1xx0_el} \
770 "
771
772 #########################################################################
773 ## i386 Systems
774 #########################################################################
775
776 LIST_I486=" \
777 sc520_cdp \
778 sc520_eNET \
779 sc520_spunk \
780 sc520_spunk_rel \
781 "
782
783 LIST_x86=" \
784 ${LIST_I486} \
785 "
786
787 #########################################################################
788 ## NIOS Systems
789 #########################################################################
790
791 LIST_nios=" \
792 ADNPESC1 \
793 ADNPESC1_base_32 \
794 ADNPESC1_DNPEVA2_base_32\
795 DK1C20 \
796 DK1C20_standard_32 \
797 DK1S10 \
798 DK1S10_standard_32 \
799 DK1S10_mtx_ldk_20 \
800 "
801
802 #########################################################################
803 ## Nios-II Systems
804 #########################################################################
805
806 LIST_nios2=" \
807 EP1C20 \
808 EP1S10 \
809 EP1S40 \
810 PCI5441 \
811 PK1C20 \
812 "
813
814 #########################################################################
815 ## MicroBlaze Systems
816 #########################################################################
817
818 LIST_microblaze=" \
819 microblaze-generic \
820 "
821
822 #########################################################################
823 ## ColdFire Systems
824 #########################################################################
825
826 LIST_coldfire=" \
827 cobra5272 \
828 EB+MCF-EV123 \
829 EB+MCF-EV123_internal \
830 idmr \
831 M5208EVBE \
832 M52277EVB \
833 M5235EVB \
834 M5249EVB \
835 M5253DEMO \
836 M5253EVBE \
837 M5271EVB \
838 M5272C3 \
839 M5275EVB \
840 M5282EVB \
841 M53017EVB \
842 M5329AFEE \
843 M5373EVB \
844 M54451EVB \
845 M54455EVB \
846 M5475AFE \
847 M5485AFE \
848 TASREG \
849 "
850
851 #########################################################################
852 ## AVR32 Systems
853 #########################################################################
854
855 LIST_avr32=" \
856 atstk1002 \
857 atstk1003 \
858 atstk1004 \
859 atstk1006 \
860 atngw100 \
861 favr-32-ezkit \
862 hammerhead \
863 mimc200 \
864 "
865
866 #########################################################################
867 ## Blackfin Systems
868 #########################################################################
869
870 LIST_blackfin=" \
871 bf518f-ezbrd \
872 bf526-ezbrd \
873 bf527-ezkit \
874 bf533-ezkit \
875 bf533-stamp \
876 bf537-minotaur \
877 bf537-pnav \
878 bf537-srv1 \
879 bf537-stamp \
880 bf538f-ezkit \
881 bf548-ezkit \
882 bf561-ezkit \
883 blackstamp \
884 cm-bf527 \
885 cm-bf533 \
886 cm-bf537e \
887 cm-bf537u \
888 cm-bf548 \
889 cm-bf561 \
890 ibf-dsp561 \
891 tcm-bf537 \
892 "
893
894 #########################################################################
895 ## SH Systems
896 #########################################################################
897
898 LIST_sh2=" \
899 rsk7203 \
900 "
901 LIST_sh3=" \
902 mpr2 \
903 ms7720se \
904 "
905
906 LIST_sh4=" \
907 ms7750se \
908 ms7722se \
909 MigoR \
910 r7780mp \
911 r2dplus \
912 sh7763rdp \
913 sh7785lcr \
914 ap325rxa \
915 espt \
916 "
917
918 LIST_sh=" \
919 ${LIST_sh2} \
920 ${LIST_sh3} \
921 ${LIST_sh4} \
922 "
923
924 #########################################################################
925 ## SPARC Systems
926 #########################################################################
927
928 LIST_sparc="gr_xc3s_1500 gr_cpci_ax2000 gr_ep2s60 grsim grsim_leon2"
929
930 #-----------------------------------------------------------------------
931
932 #----- for now, just run PPC by default -----
933 [ $# = 0 ] && set $LIST_ppc
934
935 #-----------------------------------------------------------------------
936
937 build_target() {
938 target=$1
939
940 ${MAKE} distclean >/dev/null
941 ${MAKE} ${target}_config
942
943 ${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \
944 | tee ${LOG_DIR}/$target.ERR
945
946 # Check for 'make' errors
947 if [ ${PIPESTATUS[0]} -ne 0 ] ; then
948 RC=1
949 fi
950
951 if [ -s ${LOG_DIR}/$target.ERR ] ; then
952 ERR_CNT=$((ERR_CNT + 1))
953 ERR_LIST="${ERR_LIST} $target"
954 else
955 rm ${LOG_DIR}/$target.ERR
956 fi
957
958 TOTAL_CNT=$((TOTAL_CNT + 1))
959
960 ${CROSS_COMPILE}size ${BUILD_DIR}/u-boot \
961 | tee -a ${LOG_DIR}/$target.MAKELOG
962 }
963
964 #-----------------------------------------------------------------------
965
966 print_stats() {
967 echo ""
968 echo "--------------------- SUMMARY ----------------------------"
969 echo "Boards compiled: ${TOTAL_CNT}"
970 if [ ${ERR_CNT} -gt 0 ] ; then
971 echo "Boards with warnings or errors: ${ERR_CNT} (${ERR_LIST} )"
972 fi
973 echo "----------------------------------------------------------"
974
975 exit $RC
976 }
977
978 #-----------------------------------------------------------------------
979 for arg in $@
980 do
981 case "$arg" in
982 arm|SA|ARM7|ARM9|ARM10|ARM11|ARM_CORTEX_A8|at91|ixp|pxa \
983 |avr32 \
984 |blackfin \
985 |coldfire \
986 |microblaze \
987 |mips|mips_el \
988 |nios|nios2 \
989 |ppc|5xx|5xxx|512x|8xx|8220|824x|8260|83xx|85xx|86xx|4xx|7xx|74xx|TSEC \
990 |sh|sh2|sh3|sh4 \
991 |sparc \
992 |x86|I486 \
993 )
994 for target in `eval echo '$LIST_'${arg}`
995 do
996 build_target ${target}
997 done
998 ;;
999 *) build_target ${arg}
1000 ;;
1001 esac
1002 done