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