8738fe3c565664cd2629ed8e044ce7dc826e3cab
[processor-sdk/open-amp.git] / open_amp_build.sh
2 # This scripts performs all steps necessary to build Nucleus master apps
4 # Check if the user wants to clean everything    
5 if [ "$1" == "-c" ]; then
6         make clean
7         
8         make -f libs/system/zc702evk/linux/make clean
9                 
10         cd apps
11         
12         make OS=nucleus PLAT=zc702evk ROLE=remote clean
13         
14         make OS=baremetal PLAT=zc702evk ROLE=remote clean
15         
16         make OS=nucleus PLAT=zc702evk ROLE=master clean
17         
18         make OS=baremetal PLAT=zc702evk ROLE=master clean
19                 
20         make cleanbenchmark OS=nucleus PLAT=zc702evk ROLE=master
21         
22         make clean_linux_remote OS=nucleus PLAT=zc702evk ROLE=master
24         make clean_linux_remote OS=baremetal PLAT=zc702evk ROLE=master
25         
26         make clean_linux_remote_benchmark OS=nucleus PLAT=zc702evk ROLE=master
27                 
28         cd firmware 
29         
30         find . -name "firmware" -delete
31             
32         cd ../..
34 elif [ "$1" == "-p" ]; then
35         
36         # Build OPENAMP library for Nucleus master with benchmarking enabled
38         make clean
40         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41         echo Building open AMP components..
42         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44         make OS=nucleus PLAT=zc702evk ROLE=remote
46         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47         echo Build remote Nucleus applications
48         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50         cd apps
52         echo ~~~~~~~~~~~~~~~~~~~~~~~
53         echo Cleaning applications..
54         echo ~~~~~~~~~~~~~~~~~~~~~~~
56         make OS=nucleus PLAT=zc702evk ROLE=remote clean
58         echo ~~~~~~~~~~~~~~~~~~~~~~~
59         echo Building applications..
60         echo ~~~~~~~~~~~~~~~~~~~~~~~
62         make OS=nucleus PLAT=zc702evk ROLE=remote
64         cd ..
66         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67         echo Build OPENAMP library for remote baremetal
68         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70         make clean
72         make OS=baremetal PLAT=zc702evk ROLE=remote
74         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75         echo Build remote baremetal applications
76         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78         cd apps
80         make OS=baremetal PLAT=zc702evk ROLE=remote clean
82         make OS=baremetal PLAT=zc702evk ROLE=remote
83         
84         cd ..
86         make clean
88         make OS=nucleus PLAT=zc702evk ROLE=master BENCHMARK=1
90         # Build nucleus master benchmark
91         cd apps
92     
93         make cleanbenchmark OS=nucleus PLAT=zc702evk ROLE=master
94     
95         make benchmark OS=nucleus PLAT=zc702evk ROLE=master
97         cd ..
99         make -f libs/system/zc702evk/linux/make clean
100         
101         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
102         echo Building Linux Bootstrap
103         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104         
105         make -f libs/system/zc702evk/linux/make
107         make clean
109         make OS=nucleus PLAT=zc702evk ROLE=master BENCHMARK=1 LINUXREMOTE=1
111         # Build nucleus master benchmark
112         cd apps
113     
114         make clean_linux_remote_benchmark OS=nucleus PLAT=zc702evk ROLE=master
115     
116         make linux_remote_benchmark OS=nucleus PLAT=zc702evk ROLE=master
118         cd ..
119         
120 else
121         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
122         echo Build OPENAMP library for remote Nucleus
123         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
125         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
126         echo Cleaning open AMP components..
127         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
129         make clean
131         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
132         echo Building open AMP components..
133         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
135         make OS=nucleus PLAT=zc702evk ROLE=remote
137         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138         echo Build remote Nucleus applications
139         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
141         cd apps
143         echo ~~~~~~~~~~~~~~~~~~~~~~~
144         echo Cleaning applications..
145         echo ~~~~~~~~~~~~~~~~~~~~~~~
147         make OS=nucleus PLAT=zc702evk ROLE=remote clean
149         echo ~~~~~~~~~~~~~~~~~~~~~~~
150         echo Building applications..
151         echo ~~~~~~~~~~~~~~~~~~~~~~~
153         make OS=nucleus PLAT=zc702evk ROLE=remote
155         cd ..
157         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
158         echo Build OPENAMP library for remote baremetal
159         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
162         echo Cleaning open AMP components..
163         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
165         make clean
167         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
168         echo Building open AMP components..
169         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
171         make OS=baremetal PLAT=zc702evk ROLE=remote
173         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
174         echo Build remote baremetal applications
175         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
177         cd apps
179         echo ~~~~~~~~~~~~~~~~~~~~~~~
180         echo Cleaning applications..
181         echo ~~~~~~~~~~~~~~~~~~~~~~~
183         make OS=baremetal PLAT=zc702evk ROLE=remote clean
185         echo ~~~~~~~~~~~~~~~~~~~~~~~
186         echo Building applications..
187         echo ~~~~~~~~~~~~~~~~~~~~~~~
189         make OS=baremetal PLAT=zc702evk ROLE=remote
191         cd ..
193         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
194         echo Cleaning Linux Bootstrap
195         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
196         
197         make -f libs/system/zc702evk/linux/make clean
198         
199         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
200         echo Building Linux Bootstrap
201         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
202         
203         make -f libs/system/zc702evk/linux/make
204         
205         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
206         echo Build OPENAMP library for master Nucleus
207         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
209         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
210         echo Cleaning open AMP components..
211         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
213         make clean
215         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
216         echo Building open AMP components..
217         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219         make OS=nucleus PLAT=zc702evk ROLE=master
221         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
222         echo Build master nucleus applications
223         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
225         cd apps
227         echo ~~~~~~~~~~~~~~~~~~~~~~~
228         echo Cleaning applications..
229         echo ~~~~~~~~~~~~~~~~~~~~~~~
231         make OS=nucleus PLAT=zc702evk ROLE=master clean
233         echo ~~~~~~~~~~~~~~~~~~~~~~~
234         echo Building applications..
235         echo ~~~~~~~~~~~~~~~~~~~~~~~
237         make OS=nucleus PLAT=zc702evk ROLE=master
239         cd ..
240         
241         
242         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
243         echo Build OPENAMP library for master Nucleus and remote Linux
244         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
245         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
246         echo Cleaning open AMP components..
247         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
248         make clean
250     echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
251         echo Building open AMP components..
252         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
253         make OS=nucleus PLAT=zc702evk ROLE=master LINUXREMOTE=1
255         # Build nucleus master with linux remote
256         cd apps
257     
258     echo ~~~~~~~~~~~~~~~~~~~~~~~
259         echo Cleaning applications..
260         echo ~~~~~~~~~~~~~~~~~~~~~~~
261         
262         make clean_linux_remote OS=nucleus PLAT=zc702evk ROLE=master
263     
264     
265     echo ~~~~~~~~~~~~~~~~~~~~~~~
266         echo Building applications..
267         echo ~~~~~~~~~~~~~~~~~~~~~~~
268         make linux_remote OS=nucleus PLAT=zc702evk ROLE=master
270         cd ..
271         
273         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
274         echo Build OPENAMP library for master baremetal and remote Linux
275         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
276         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
277         echo Cleaning open AMP components..
278         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
279         make clean
281     echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
282         echo Building open AMP components..
283         echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
284         make OS=baremetal PLAT=zc702evk ROLE=master LINUXREMOTE=1
286         # Build nucleus master with linux remote
287         cd apps
288     
289     echo ~~~~~~~~~~~~~~~~~~~~~~~
290         echo Cleaning applications..
291         echo ~~~~~~~~~~~~~~~~~~~~~~~
292         
293         make clean_linux_remote OS=baremetal PLAT=zc702evk ROLE=master
294     
295     
296     echo ~~~~~~~~~~~~~~~~~~~~~~~
297         echo Building applications..
298         echo ~~~~~~~~~~~~~~~~~~~~~~~
299         make linux_remote OS=baremetal PLAT=zc702evk ROLE=master
301         cd ..
302         
303 fi