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