]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - mpw-build.in
2004-02-14 Elena Zannoni <ezannoni@redhat.com>
[thirdparty/binutils-gdb.git] / mpw-build.in
1 # Top-level script fragment to build everything for MPW.
2
3 Set savedir "`Directory`"
4
5 #Set Echo 1
6
7 Set ThisScript "{0}"
8
9 Set objdir ":"
10
11 Set verify 0
12
13 Set BuildTarget "none"
14
15 # Parse arguments.
16
17 Loop
18 Break If {#} == 0
19 If "{BuildTarget}" =~ /none/
20 Set BuildTarget "{1}"
21 Else
22 Echo Only one build target allowed, ignoring "{1}"
23 End If
24 Shift 1
25 End Loop
26
27 If "{BuildTarget}" =~ /none/
28 Set BuildTarget "all"
29 End If
30
31 If {verify} == 1
32 Echo "#" Doing "{ThisScript}" "{BuildTarget}" in "`Directory`" ...
33 End If
34
35 Set ranmake 0
36
37 If "`Exists Makefile`" != ""
38 Echo "Set Echo 1" >{BuildTarget}.makeout
39 Make -f Makefile {BuildTarget} >>{BuildTarget}.makeout
40 {BuildTarget}.makeout
41 Delete {BuildTarget}.makeout
42 Set ranmake 1
43 End If
44
45 If "`Exists Makefile.PPC`" != ""
46 Echo "Set Echo 1" >{BuildTarget}.makeout.ppc
47 Make -f Makefile.PPC {BuildTarget} >>{BuildTarget}.makeout.ppc
48 {BuildTarget}.makeout.ppc
49 Delete {BuildTarget}.makeout.ppc
50 Set ranmake 1
51 End If
52
53 If {ranmake} == 1
54 Exit
55 End If
56
57 # Dispatch on various pseudo-targets.
58
59 If "{BuildTarget}" =~ /all/
60 Echo Started `Date`
61 "{ThisScript}" all-gcc
62 "{ThisScript}" all-gdb
63 Echo Finished `Date`
64 Else If "{BuildTarget}" =~ /all-libiberty/
65 "{ThisScript}" do-libiberty
66 Else If "{BuildTarget}" =~ /all-bfd/
67 "{ThisScript}" do-bfd
68 Else If "{BuildTarget}" =~ /all-opcodes/
69 "{ThisScript}" do-opcodes
70 Else If "{BuildTarget}" =~ /all-byacc/
71 "{ThisScript}" do-byacc
72 Else If "{BuildTarget}" =~ /all-flex/
73 "{ThisScript}" all-libiberty
74 "{ThisScript}" do-flex
75 Else If "{BuildTarget}" =~ /all-binutils/
76 "{ThisScript}" all-libiberty
77 "{ThisScript}" all-bfd
78 "{ThisScript}" all-opcodes
79 "{ThisScript}" do-binutils
80 Else If "{BuildTarget}" =~ /all-gas/
81 "{ThisScript}" all-libiberty
82 "{ThisScript}" all-bfd
83 "{ThisScript}" all-opcodes
84 "{ThisScript}" do-gas
85 Else If "{BuildTarget}" =~ /all-gcc/
86 "{ThisScript}" all-libiberty
87 "{ThisScript}" all-gas
88 "{ThisScript}" all-binutils
89 "{ThisScript}" all-ld
90 "{ThisScript}" do-gcc
91 Else If "{BuildTarget}" =~ /all-gdb/
92 "{ThisScript}" all-libiberty
93 "{ThisScript}" all-bfd
94 "{ThisScript}" all-opcodes
95 "{ThisScript}" do-gdb
96 Else If "{BuildTarget}" =~ /all-grez/
97 "{ThisScript}" all-libiberty
98 "{ThisScript}" all-bfd
99 "{ThisScript}" do-grez
100 Else If "{BuildTarget}" =~ /all-ld/
101 "{ThisScript}" all-libiberty
102 "{ThisScript}" all-bfd
103 "{ThisScript}" all-opcodes
104 "{ThisScript}" do-ld
105 Else If "{BuildTarget}" =~ /do-byacc/
106 SetDirectory :byacc:
107 ::mpw-build all
108 Else If "{BuildTarget}" =~ /do-flex/
109 SetDirectory :flex:
110 ::mpw-build _bootstrap
111 ::mpw-build all
112 Else If "{BuildTarget}" =~ /do-bfd/
113 SetDirectory :bfd:
114 ::mpw-build all
115 Else If "{BuildTarget}" =~ /do-libiberty/
116 SetDirectory :libiberty:
117 ::mpw-build all
118 Else If "{BuildTarget}" =~ /do-opcodes/
119 SetDirectory :opcodes:
120 ::mpw-build all
121 Else If "{BuildTarget}" =~ /do-binutils/
122 SetDirectory :binutils:
123 ::mpw-build stamps
124 ::mpw-build all
125 Else If "{BuildTarget}" =~ /do-gas/
126 SetDirectory :gas:
127 ::mpw-build stamps
128 ::mpw-build all
129 Else If "{BuildTarget}" =~ /do-gcc/
130 SetDirectory :gcc:
131 :mpw-build all
132 Else If "{BuildTarget}" =~ /do-gdb/
133 SetDirectory :gdb:
134 ::mpw-build all
135 Else If "{BuildTarget}" =~ /do-grez/
136 SetDirectory :grez:
137 ::mpw-build all
138 Else If "{BuildTarget}" =~ /do-ld/
139 SetDirectory :ld:
140 ::mpw-build all
141 Else If "{BuildTarget}" =~ /do-newlib/
142 SetDirectory :newlib:
143 ::mpw-build all
144 Else If "{BuildTarget}" =~ /install/
145 "{ThisScript}" install-only-top
146 "{ThisScript}" install-binutils
147 "{ThisScript}" install-gas
148 "{ThisScript}" install-gcc
149 "{ThisScript}" install-ld
150 "{ThisScript}" install-gdb
151 Else If "{BuildTarget}" =~ /install-binutils/
152 SetDirectory :binutils:
153 ::mpw-build install
154 Else If "{BuildTarget}" =~ /install-gas/
155 SetDirectory :gas:
156 ::mpw-build install
157 Else If "{BuildTarget}" =~ /install-gcc/
158 SetDirectory :gcc:
159 :mpw-build install
160 Else If "{BuildTarget}" =~ /install-gdb/
161 SetDirectory :gdb:
162 ::mpw-build install
163 Else If "{BuildTarget}" =~ /install-grez/
164 SetDirectory :grez:
165 ::mpw-build install
166 Else If "{BuildTarget}" =~ /install-ld/
167 SetDirectory :ld:
168 ::mpw-build install
169 Else If "{BuildTarget}" =~ /install-only/
170 "{ThisScript}" install-only-top
171 "{ThisScript}" install-only-binutils
172 "{ThisScript}" install-only-gas
173 "{ThisScript}" install-only-gcc
174 "{ThisScript}" install-only-gdb
175 "{ThisScript}" install-only-ld
176 Else If "{BuildTarget}" =~ /install-only-binutils/
177 SetDirectory :binutils:
178 ::mpw-build install-only
179 Else If "{BuildTarget}" =~ /install-only-gas/
180 SetDirectory :gas:
181 ::mpw-build install-only
182 Else If "{BuildTarget}" =~ /install-only-gcc/
183 SetDirectory :gcc:
184 :mpw-build install-only
185 Else If "{BuildTarget}" =~ /install-only-gdb/
186 SetDirectory :gdb:
187 ::mpw-build install-only
188 Else If "{BuildTarget}" =~ /install-only-grez/
189 SetDirectory :grez:
190 ::mpw-build install-only
191 Else If "{BuildTarget}" =~ /install-only-ld/
192 SetDirectory :ld:
193 ::mpw-build install-only
194 Else If "{BuildTarget}" =~ /install-only-top/
195 NewFolderRecursive "{prefix}"
196 If "{prefix}" != "`Directory`"
197 Duplicate -y 'Read Me for MPW' "{prefix}"'Read Me for MPW'
198 Duplicate -y Install "{prefix}"Install
199 End If
200 Else
201 Echo {BuildTarget} not understood, ignoring
202 End If
203
204 SetDirectory "{savedir}"