Fix build errors and warnings / code cleanup.
[kernel/u-boot.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          cpci5200        EVAL5200        fo300           \
39         icecube_5100    icecube_5200    lite5200b       mcc200          \
40         mecp5200        motionpro       o2dnt           pf5200          \
41         PM520           TB5200          Total5100       Total5200       \
42         Total5200_Rev2  TQM5200         TQM5200_B       TQM5200S        \
43         v38b                                                            \
44 "
45
46 #########################################################################
47 ## MPC8xx Systems
48 #########################################################################
49 LIST_8xx="      \
50         Adder87x        GENIETV         MBX860T         R360MPI         \
51         AdderII         GTH             MHPC            RBC823          \
52         ADS860          hermes          MPC86xADS       rmu             \
53         AMX860          IAD210          MPC885ADS       RPXClassic      \
54         c2mon           ICU862_100MHz   MVS1            RPXlite         \
55         CCM             IP860           NETPHONE        RPXlite_DW      \
56         cogent_mpc8xx   IVML24          NETTA           RRvision        \
57         ELPT860         IVML24_128      NETTA2          SM850           \
58         EP88x           IVML24_256      NETTA_ISDN      spc1920         \
59         ESTEEM192E      IVMS8           NETVIA          SPD823TS        \
60         ETX094          IVMS8_128       NETVIA_V2       svm_sc8xx       \
61         FADS823         IVMS8_256       NX823           SXNI855T        \
62         FADS850SAR      KUP4K           pcu_e           TOP860          \
63         FADS860T        KUP4X           QS823           TQM823L         \
64         FLAGADM         LANTEC          QS850           TQM823L_LCD     \
65         FPS850L         lwmon           QS860T          TQM850L         \
66         GEN860T         MBX             quantum         TQM855L         \
67         GEN860T_SC                                      TQM860L         \
68                                                         TQM885D         \
69                                                         uc100           \
70                                                         v37             \
71 "
72
73 #########################################################################
74 ## PPC4xx Systems
75 #########################################################################
76
77 LIST_4xx="      \
78         acadia          acadia_nand     ADCIOP          alpr            \
79         AP1000          AR405           ASH405          bamboo          \
80         bamboo_nand     bubinga         CANBT           CMS700          \
81         CPCI2DP         CPCI405         CPCI4052        CPCI405AB       \
82         CPCI405DT       CPCI440         CPCIISER4       CRAYL1          \
83         csb272          csb472          DASA_SIM        DP405           \
84         DU405           ebony           ERIC            EXBITGEN        \
85         G2000           HH405           HUB405          JSE             \
86         KAREF           katmai          luan            lwmon5          \
87         METROBOX        MIP405          MIP405T         ML2             \
88         ml300           ocotea          OCRTC           ORSG            \
89         p3p440          PCI405          pcs440ep        PIP405          \
90         PLU405          PMC405          PPChameleonEVB  sbc405          \
91         sc3             sequoia         sequoia_nand    taishan         \
92         VOH405          VOM405          W7OLMC          W7OLMG          \
93         walnut          WUH405          XPEDITE1K       yellowstone     \
94         yosemite        yucca                                           \
95 "
96
97 #########################################################################
98 ## MPC8220 Systems
99 #########################################################################
100
101 LIST_8220="     \
102         Alaska8220      Yukon8220                                       \
103 "
104
105 #########################################################################
106 ## MPC824x Systems
107 #########################################################################
108
109 LIST_824x="     \
110         A3000           barco           BMW             CPC45           \
111         CU824           debris          eXalion         HIDDEN_DRAGON   \
112                         MOUSSE          MUSENKI         MVBLUE          \
113         OXC             PN62            Sandpoint8240   Sandpoint8245   \
114         sbc8240         SL8245          utx8245                         \
115 "
116
117 #########################################################################
118 ## MPC8260 Systems (includes 8250, 8255 etc.)
119 #########################################################################
120
121 LIST_8260="     \
122         atc             cogent_mpc8260  CPU86           CPU87           \
123         ep8248          ep8260          ep82xxm         gw8260          \
124         hymod           IPHASE4539      ISPAN           MPC8260ADS      \
125         MPC8266ADS      MPC8272ADS      PM826           PM828           \
126         ppmc8260        Rattler8248     RPXsuper        rsdproto        \
127         sacsng          sbc8260         SCM             TQM8260_AC      \
128         TQM8260_AD      TQM8260_AE      ZPC1900                         \
129 "
130
131 #########################################################################
132 ## MPC83xx Systems (includes 8349, etc.)
133 #########################################################################
134
135 LIST_83xx="     \
136         MPC8313ERDB_33  MPC8313ERDB_66  MPC832XEMDS     MPC8349EMDS     \
137         MPC8349ITX      MPC8349ITXGP    MPC8360EMDS     sbc8349         \
138         TQM834x                                                         \
139 "
140
141
142 #########################################################################
143 ## MPC85xx Systems (includes 8540, 8560 etc.)
144 #########################################################################
145
146 LIST_85xx="     \
147         MPC8540ADS      MPC8540EVAL     MPC8541CDS      MPC8544DS       \
148         MPC8548CDS      MPC8555CDS      MPC8560ADS      MPC8568MDS      \
149         PM854           PM856           sbc8540         sbc8560         \
150         stxgp3          stxssa          TQM8540         TQM8541         \
151         TQM8555         TQM8560                                         \
152 "
153
154 #########################################################################
155 ## MPC86xx Systems
156 #########################################################################
157
158 LIST_86xx="     \
159     MPC8641HPCN \
160 "
161
162 #########################################################################
163 ## 74xx/7xx Systems
164 #########################################################################
165
166 LIST_74xx="     \
167         DB64360         DB64460         EVB64260        P3G4            \
168         p3m7448         PCIPPC2         PCIPPC6         ZUMA            \
169         mpc7448hpc2
170 "
171
172 LIST_7xx="      \
173         BAB7xx          CPCI750         ELPPC           p3m750          \
174         ppmc7xx                                                         \
175 "
176
177 LIST_ppc="${LIST_5xx}  ${LIST_5xxx}             \
178           ${LIST_8xx}                           \
179           ${LIST_8220} ${LIST_824x} ${LIST_8260} \
180           ${LIST_83xx}                          \
181           ${LIST_85xx}                          \
182           ${LIST_86xx}                          \
183           ${LIST_4xx}                           \
184           ${LIST_74xx} ${LIST_7xx}"
185
186 #########################################################################
187 ## StrongARM Systems
188 #########################################################################
189
190 LIST_SA="assabet dnp1110 gcplus lart shannon"
191
192 #########################################################################
193 ## ARM7 Systems
194 #########################################################################
195
196 LIST_ARM7="     \
197         armadillo       B2              ep7312          evb4510         \
198         impa7           integratorap    ap7             ap720t          \
199         lpc2292sodimm   modnet50        SMN42                           \
200 "
201
202 #########################################################################
203 ## ARM9 Systems
204 #########################################################################
205
206 LIST_ARM9="     \
207         at91rm9200dk    cmc_pu2                                         \
208         ap920t          ap922_XA10      ap926ejs        ap946es         \
209         ap966           cp920t          cp922_XA10      cp926ejs        \
210         cp946es         cp966           lpd7a400        mp2usb          \
211         mx1ads          mx1fs2          netstar         omap1510inn     \
212         omap1610h2      omap1610inn     omap730p2       sbc2410x        \
213         scb9328         smdk2400        smdk2410        trab            \
214         VCMA9           versatile       versatileab     versatilepb     \
215         voiceblue                                                       \
216 "
217
218 #########################################################################
219 ## ARM10 Systems
220 #########################################################################
221 LIST_ARM10="    \
222         integratorcp    cp1026                                          \
223 "
224
225 #########################################################################
226 ## ARM11 Systems
227 #########################################################################
228 LIST_ARM11="    \
229         cp1136          omap2420h4                                      \
230 "
231
232 #########################################################################
233 ## Xscale Systems
234 #########################################################################
235
236 LIST_pxa="      \
237         adsvix          cerf250         cradle          csb226          \
238         delta           innokom         lubbock         pleb2           \
239         pxa255_idp      wepep250        xaeniax         xm250           \
240         xsengine        zylonite                                        \
241 "
242
243 LIST_ixp="ixdp425       ixdpg425        pdnb3           scpu"
244
245
246 LIST_arm="      \
247         ${LIST_SA}                                                      \
248         ${LIST_ARM7} ${LIST_ARM9} ${LIST_ARM10} ${LIST_ARM11}           \
249         ${LIST_pxa} ${LIST_ixp}                                         \
250 "
251
252 #########################################################################
253 ## MIPS Systems         (default = big endian)
254 #########################################################################
255
256 LIST_mips4kc="incaip"
257
258 LIST_mips5kc="purple"
259
260 LIST_au1xx0="dbau1000 dbau1100 dbau1500 dbau1550 dbau1550_el gth2"
261
262 LIST_mips="${LIST_mips4kc} ${LIST_mips5kc} ${LIST_au1xx0}"
263
264 #########################################################################
265 ## MIPS Systems         (little endian)
266 #########################################################################
267
268 LIST_mips4kc_el=""
269
270 LIST_mips5kc_el=""
271
272 LIST_au1xx0_el="dbau1550_el"
273
274 LIST_mips_el="${LIST_mips4kc_el} ${LIST_mips5kc_el} ${LIST_au1xx0_el}"
275
276 #########################################################################
277 ## i386 Systems
278 #########################################################################
279
280 LIST_I486="sc520_cdp sc520_spunk sc520_spunk_rel"
281
282 LIST_x86="${LIST_I486}"
283
284 #########################################################################
285 ## NIOS Systems
286 #########################################################################
287
288 LIST_nios="     \
289         ADNPESC1                ADNPESC1_base_32                        \
290         ADNPESC1_DNPEVA2_base_32                                        \
291         DK1C20                  DK1C20_standard_32                      \
292         DK1S10                  DK1S10_standard_32 DK1S10_mtx_ldk_20    \
293 "
294
295 #########################################################################
296 ## Nios-II Systems
297 #########################################################################
298
299 LIST_nios2="    \
300         EP1C20          EP1S10          EP1S40                          \
301         PCI5441         PK1C20                                          \
302 "
303
304 #########################################################################
305 ## MicroBlaze Systems
306 #########################################################################
307
308 LIST_microblaze="       \
309         suzaku          ml401           xupv2p
310 "
311
312 #########################################################################
313 ## ColdFire Systems
314 #########################################################################
315
316 LIST_coldfire=" \
317         cobra5272       EB+MCF-EV123    EB+MCF-EV123_internal           \
318         idmr            M5271EVB        M5272C3         M5282EVB        \
319         TASREG          r5200           M5271EVB                        \
320 "
321
322 #########################################################################
323 ## AVR32 Systems
324 #########################################################################
325
326 LIST_avr32="atstk1002"
327
328 #########################################################################
329 ## Blackfin Systems
330 #########################################################################
331
332 LIST_blackfin=" \
333         bf533-ezkit     bf533-stamp     bf537-stamp     bf561-ezkit     \
334 "
335
336 #-----------------------------------------------------------------------
337
338 #----- for now, just run PPC by default -----
339 [ $# = 0 ] && set $LIST_ppc
340
341 #-----------------------------------------------------------------------
342
343 build_target() {
344         target=$1
345
346         ${MAKE} distclean >/dev/null
347         ${MAKE} ${target}_config
348
349         ${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \
350                                 | tee ${LOG_DIR}/$target.ERR
351
352         ${CROSS_COMPILE:-ppc_8xx-}size ${BUILD_DIR}/u-boot \
353                                 | tee -a ${LOG_DIR}/$target.MAKELOG
354 }
355
356 #-----------------------------------------------------------------------
357
358
359 for arg in $@
360 do
361         case "$arg" in
362         arm|SA|ARM7|ARM9|ARM10|ARM11|ixp|pxa| \
363         avr32| \
364         blackfin| \
365         coldfire| \
366         microblaze| \
367         mips|mips_el| \
368         nios|nios2| \
369         ppc|5xx|5xxx|8xx|8220|824x|8260|83xx|85xx|86xx|4xx|7xx|74xx| \
370         x86|I486)
371                         for target in `eval echo '$LIST_'${arg}`
372                         do
373                                 build_target ${target}
374                         done
375                         ;;
376         *)              build_target ${arg}
377                         ;;
378         esac
379 done