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