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