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