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