a136bad7a8a5af32c4e367ca74c8896ec48650ed
[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         MPC8313ERDB_33  \
339         MPC8313ERDB_NAND_66     \
340         MPC8315ERDB     \
341         MPC8323ERDB     \
342         MPC832XEMDS     \
343         MPC832XEMDS_ATM \
344         MPC8349EMDS     \
345         MPC8349ITX      \
346         MPC8349ITXGP    \
347         MPC8360EMDS     \
348         MPC8360EMDS_ATM \
349         MPC8360ERDK_33  \
350         MPC8360ERDK_66  \
351         MPC837XEMDS     \
352         MPC837XERDB     \
353         MVBLM7          \
354         sbc8349         \
355         TQM834x         \
356 "
357
358
359 #########################################################################
360 ## MPC85xx Systems (includes 8540, 8560 etc.)
361 #########################################################################
362
363 LIST_85xx="             \
364         ATUM8548        \
365         MPC8536DS       \
366         MPC8540ADS      \
367         MPC8540EVAL     \
368         MPC8541CDS      \
369         MPC8544DS       \
370         MPC8548CDS      \
371         MPC8555CDS      \
372         MPC8560ADS      \
373         MPC8568MDS      \
374         MPC8572DS       \
375         PM854           \
376         PM856           \
377         sbc8540         \
378         sbc8548         \
379         sbc8560         \
380         socrates        \
381         stxgp3          \
382         stxssa          \
383         TQM8540         \
384         TQM8541         \
385         TQM8548         \
386         TQM8555         \
387         TQM8560         \
388         XPEDITE5370     \
389 "
390
391 #########################################################################
392 ## MPC86xx Systems
393 #########################################################################
394
395 LIST_86xx="             \
396         MPC8610HPCD     \
397         MPC8641HPCN     \
398         sbc8641d        \
399 "
400
401 #########################################################################
402 ## 74xx/7xx Systems
403 #########################################################################
404
405 LIST_74xx="             \
406         DB64360         \
407         DB64460         \
408         EVB64260        \
409         mpc7448hpc2     \
410         P3G4            \
411         p3m7448         \
412         PCIPPC2         \
413         PCIPPC6         \
414         ZUMA            \
415 "
416
417 LIST_7xx="              \
418         BAB7xx          \
419         CPCI750         \
420         ELPPC           \
421         p3m750          \
422         ppmc7xx         \
423 "
424
425 #########################################################################
426 ## PowerPC groups
427 #########################################################################
428
429 LIST_TSEC="             \
430         ${LIST_83xx}    \
431         ${LIST_85xx}    \
432         ${LIST_86xx}    \
433 "
434
435 LIST_ppc="              \
436         ${LIST_5xx}     \
437         ${LIST_512x}    \
438         ${LIST_5xxx}    \
439         ${LIST_8xx}     \
440         ${LIST_8220}    \
441         ${LIST_824x}    \
442         ${LIST_8260}    \
443         ${LIST_83xx}    \
444         ${LIST_85xx}    \
445         ${LIST_86xx}    \
446         ${LIST_4xx}     \
447         ${LIST_74xx}    \
448         ${LIST_7xx}     \
449 "
450
451 #########################################################################
452 ## StrongARM Systems
453 #########################################################################
454
455 LIST_SA="               \
456         assabet         \
457         dnp1110         \
458         gcplus          \
459         lart            \
460         shannon         \
461 "
462
463 #########################################################################
464 ## ARM7 Systems
465 #########################################################################
466
467 LIST_ARM7="             \
468         ap7             \
469         ap720t          \
470         armadillo       \
471         B2              \
472         ep7312          \
473         evb4510         \
474         impa7           \
475         integratorap    \
476         lpc2292sodimm   \
477         modnet50        \
478         SMN42           \
479 "
480
481 #########################################################################
482 ## ARM9 Systems
483 #########################################################################
484
485 LIST_ARM9="                     \
486         ap920t                  \
487         ap922_XA10              \
488         ap926ejs                \
489         ap946es                 \
490         ap966                   \
491         cp920t                  \
492         cp922_XA10              \
493         cp926ejs                \
494         cp946es                 \
495         cp966                   \
496         lpd7a400                \
497         mx1ads                  \
498         mx1fs2                  \
499         netstar                 \
500         omap1510inn             \
501         omap1610h2              \
502         omap1610inn             \
503         omap5912osk             \
504         omap730p2               \
505         sbc2410x                \
506         scb9328                 \
507         smdk2400                \
508         smdk2410                \
509         trab                    \
510         VCMA9                   \
511         versatile               \
512         versatileab             \
513         versatilepb             \
514         voiceblue               \
515         davinci_dvevm           \
516         davinci_schmoogie       \
517         davinci_sffsdr          \
518         davinci_sonata          \
519 "
520
521 #########################################################################
522 ## ARM10 Systems
523 #########################################################################
524 LIST_ARM10="            \
525         integratorcp    \
526         cp1026          \
527 "
528
529 #########################################################################
530 ## ARM11 Systems
531 #########################################################################
532 LIST_ARM11="            \
533         cp1136          \
534         omap2420h4      \
535         apollon         \
536         imx31_litekit   \
537         imx31_phycore   \
538         mx31ads         \
539         smdk6400        \
540 "
541
542 #########################################################################
543 ## AT91 Systems
544 #########################################################################
545
546 LIST_at91="             \
547         afeb9260        \
548         at91cap9adk     \
549         at91rm9200dk    \
550         at91sam9260ek   \
551         at91sam9261ek   \
552         at91sam9263ek   \
553         at91sam9rlek    \
554         cmc_pu2         \
555         csb637          \
556         kb9202          \
557         mp2usb          \
558         m501sk          \
559 "
560
561 #########################################################################
562 ## Xscale Systems
563 #########################################################################
564
565 LIST_pxa="              \
566         cerf250         \
567         cradle          \
568         csb226          \
569         delta           \
570         innokom         \
571         lubbock         \
572         pleb2           \
573         pxa255_idp      \
574         wepep250        \
575         xaeniax         \
576         xm250           \
577         xsengine        \
578         zylonite        \
579 "
580
581 LIST_ixp="              \
582         actux1          \
583         actux2          \
584         actux3          \
585         actux4          \
586         ixdp425         \
587         ixdpg425        \
588         pdnb3           \
589         scpu            \
590 "
591
592 #########################################################################
593 ## ARM groups
594 #########################################################################
595
596 LIST_arm="              \
597         ${LIST_SA}      \
598         ${LIST_ARM7}    \
599         ${LIST_ARM9}    \
600         ${LIST_ARM10}   \
601         ${LIST_ARM11}   \
602         ${LIST_at91}    \
603         ${LIST_pxa}     \
604         ${LIST_ixp}     \
605 "
606
607 #########################################################################
608 ## MIPS Systems         (default = big endian)
609 #########################################################################
610
611 LIST_mips4kc="          \
612         incaip          \
613         qemu_mips       \
614 "
615
616 LIST_mips5kc="          \
617         purple          \
618 "
619
620 LIST_au1xx0="           \
621         dbau1000        \
622         dbau1100        \
623         dbau1500        \
624         dbau1550        \
625         dbau1550_el     \
626         gth2            \
627 "
628
629 LIST_mips="             \
630         ${LIST_mips4kc} \
631         ${LIST_mips5kc} \
632         ${LIST_au1xx0}  \
633 "
634
635 #########################################################################
636 ## MIPS Systems         (little endian)
637 #########################################################################
638
639 LIST_mips4kc_el=""
640
641 LIST_mips5kc_el=""
642
643 LIST_au1xx0_el="        \
644         dbau1550_el     \
645         pb1000          \
646 "
647
648 LIST_mips_el="                  \
649         ${LIST_mips4kc_el}      \
650         ${LIST_mips5kc_el}      \
651         ${LIST_au1xx0_el}       \
652 "
653
654 #########################################################################
655 ## i386 Systems
656 #########################################################################
657
658 LIST_I486="             \
659         sc520_cdp       \
660         sc520_spunk     \
661         sc520_spunk_rel \
662 "
663
664 LIST_x86="              \
665         ${LIST_I486}    \
666 "
667
668 #########################################################################
669 ## NIOS Systems
670 #########################################################################
671
672 LIST_nios="                     \
673         ADNPESC1                \
674         ADNPESC1_base_32        \
675         ADNPESC1_DNPEVA2_base_32\
676         DK1C20                  \
677         DK1C20_standard_32      \
678         DK1S10                  \
679         DK1S10_standard_32      \
680         DK1S10_mtx_ldk_20       \
681 "
682
683 #########################################################################
684 ## Nios-II Systems
685 #########################################################################
686
687 LIST_nios2="            \
688         EP1C20          \
689         EP1S10          \
690         EP1S40          \
691         PCI5441         \
692         PK1C20          \
693 "
694
695 #########################################################################
696 ## MicroBlaze Systems
697 #########################################################################
698
699 LIST_microblaze="       \
700         ml401           \
701         suzaku          \
702 "
703
704 #########################################################################
705 ## ColdFire Systems
706 #########################################################################
707
708 LIST_coldfire="                 \
709         cobra5272               \
710         EB+MCF-EV123            \
711         EB+MCF-EV123_internal   \
712         idmr                    \
713         M52277EVB               \
714         M5235EVB                \
715         M5249EVB                \
716         M5253DEMO               \
717         M5253EVBE               \
718         M5271EVB                \
719         M5272C3                 \
720         M5275EVB                \
721         M5282EVB                \
722         M53017EVB               \
723         M5329AFEE               \
724         M5373EVB                \
725         M54451EVB               \
726         M54455EVB               \
727         M5475AFE                \
728         M5485AFE                \
729         TASREG                  \
730 "
731
732 #########################################################################
733 ## AVR32 Systems
734 #########################################################################
735
736 LIST_avr32="            \
737         atstk1002       \
738         atstk1003       \
739         atstk1004       \
740         atstk1006       \
741         atngw100        \
742         favr-32-ezkit   \
743         hammerhead      \
744         mimc200         \
745 "
746
747 #########################################################################
748 ## Blackfin Systems
749 #########################################################################
750
751 LIST_blackfin="         \
752         bf533-ezkit     \
753         bf533-stamp     \
754         bf537-stamp     \
755         bf561-ezkit     \
756 "
757
758 #########################################################################
759 ## SH Systems
760 #########################################################################
761
762 LIST_sh2="              \
763         rsk7203         \
764 "
765 LIST_sh3="              \
766         mpr2            \
767         ms7720se        \
768 "
769
770 LIST_sh4="              \
771         ms7750se        \
772         ms7722se        \
773         MigoR           \
774         r7780mp         \
775         r2dplus         \
776         sh7763rdp       \
777         sh7785lcr       \
778         ap325rxa        \
779 "
780
781 LIST_sh="               \
782         ${LIST_sh2}     \
783         ${LIST_sh3}     \
784         ${LIST_sh4}     \
785 "
786
787 #########################################################################
788 ## SPARC Systems
789 #########################################################################
790
791 LIST_sparc="gr_xc3s_1500        gr_cpci_ax2000  gr_ep2s60       grsim   grsim_leon2"
792
793 #-----------------------------------------------------------------------
794
795 #----- for now, just run PPC by default -----
796 [ $# = 0 ] && set $LIST_ppc
797
798 #-----------------------------------------------------------------------
799
800 build_target() {
801         target=$1
802
803         ${MAKE} distclean >/dev/null
804         ${MAKE} ${target}_config
805
806         ${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \
807                                 | tee ${LOG_DIR}/$target.ERR
808
809         ${CROSS_COMPILE}size ${BUILD_DIR}/u-boot \
810                                 | tee -a ${LOG_DIR}/$target.MAKELOG
811 }
812
813 #-----------------------------------------------------------------------
814
815
816 for arg in $@
817 do
818         case "$arg" in
819         arm|SA|ARM7|ARM9|ARM10|ARM11|at91|ixp|pxa \
820         |avr32 \
821         |blackfin \
822         |coldfire \
823         |microblaze \
824         |mips|mips_el \
825         |nios|nios2 \
826         |ppc|5xx|5xxx|512x|8xx|8220|824x|8260|83xx|85xx|86xx|4xx|7xx|74xx|TSEC \
827         |sh|sh2|sh3|sh4 \
828         |sparc \
829         |x86|I486 \
830         )
831                         for target in `eval echo '$LIST_'${arg}`
832                         do
833                                 build_target ${target}
834                         done
835                         ;;
836         *)              build_target ${arg}
837                         ;;
838         esac
839 done