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