]>
Commit | Line | Data |
---|---|---|
11a3e7b6 VZ |
1 | # |
2 | # Makefile for AmigaOS | |
3 | # | |
4 | ||
5 | .PHONY: help all check clean package | |
6 | .PHONY: clib2 newlib library so | |
7 | ||
8 | vpath %.c ../lib ../examples ../xmlwf ../tests ../tests/benchmark | |
9 | vpath %.h ../lib ../tests | |
10 | ||
11 | ############################################################################# | |
12 | ||
13 | help: | |
14 | @echo "Requires:" | |
15 | @echo " AmigaOS 4.x" | |
16 | @echo " SDK 53.13" | |
17 | @echo "" | |
18 | @echo "Targets:" | |
19 | @echo " all - make libraries, xmlwf, examples and runs tests" | |
20 | @echo " install - install expat libraries and tools into SDK" | |
21 | @echo " clean - clean object files" | |
22 | @echo " check - run all the tests" | |
23 | @echo " package - prepare distribution archive" | |
24 | ||
25 | all: clib2 newlib library so check | |
26 | ||
27 | clib2: clib2/libexpat.a clib2/xmlwf clib2/elements clib2/outline clib2/runtests clib2/benchmark | |
28 | ||
29 | newlib: newlib/libexpat.a newlib/xmlwf newlib/elements newlib/outline newlib/runtests newlib/benchmark | |
30 | ||
31 | library: libs/expat.library libs/xmlwf libs/elements libs/outline libs/runtests libs/benchmark | |
32 | ||
33 | so: so/libexpat.so so/xmlwf so/elements so/outline so/runtests so/benchmark | |
34 | ||
35 | check: clib2/runtests newlib/runtests libs/runtests so/runtests | |
36 | clib2/runtests | |
37 | newlib/runtests | |
38 | libs/runtests | |
39 | so/runtests | |
40 | ||
41 | clean: | |
42 | -delete clib2/#?.o quiet | |
43 | -delete newlib/#?.o quiet | |
44 | -delete libs/#?.o quiet | |
45 | -delete so/#?.o quiet | |
46 | ||
47 | package: | |
48 | $(MAKE) all | |
49 | -delete T:expat all force quiet | |
50 | makedir all T:expat/Workbench/Libs | |
51 | copy clone libs/expat.library T:expat/Workbench/Libs | |
52 | makedir all T:expat/Workbench/SObjs | |
53 | copy clone so/libexpat.so T:expat/Workbench/SObjs | |
54 | makedir all T:expat/SDK/Local/C | |
55 | copy clone libs/xmlwf T:expat/SDK/Local/C | |
56 | makedir all T:expat/SDK/Local/clib2/lib | |
57 | copy clone clib2/libexpat.a T:expat/SDK/Local/clib2/lib | |
58 | makedir all T:expat/SDK/Local/newlib/lib | |
59 | copy clone newlib/libexpat.a T:expat/SDK/Local/newlib/lib | |
60 | makedir all T:expat/SDK/Local/common/include | |
61 | copy clone /lib/expat.h /lib/expat_external.h T:expat/SDK/Local/common/include | |
62 | makedir all T:expat/SDK/Include/include_h/inline4 | |
63 | copy clone include/inline4/expat.h T:expat/SDK/Include/include_h/inline4 | |
64 | makedir all T:expat/SDK/Include/include_h/interfaces | |
65 | copy clone include/interfaces/expat.h T:expat/SDK/Include/include_h/interfaces | |
66 | makedir all T:expat/SDK/Include/include_h/libraries | |
67 | copy clone include/libraries/expat.h T:expat/SDK/Include/include_h/libraries | |
68 | makedir all T:expat/SDK/Include/include_h/proto | |
69 | copy clone include/proto/expat.h T:expat/SDK/Include/include_h/proto | |
70 | makedir all T:expat/SDK/Documentation/Libs/Expat | |
71 | copy clone /COPYING T:expat/SDK/Documentation/Libs/Expat | |
72 | copy clone /README T:expat/SDK/Documentation/Libs/Expat | |
73 | copy clone README.txt T:expat/SDK/Documentation/Libs/Expat/README.AmigaOS | |
74 | -delete expat.lha | |
75 | lha -r a expat.lha T:expat | |
76 | ||
77 | ############################################################################# | |
78 | ||
79 | CC := gcc | |
80 | LIBTOOL := ar | |
81 | STRIP := strip | |
82 | ||
83 | CFLAGS := -DNDEBUG -O3 | |
84 | LTFLAGS := -crs | |
85 | STRIPFLAGS := -R.comment | |
86 | ||
87 | ############################################################################# | |
88 | ||
89 | clib2/libexpat.a: clib2/xmlparse.o clib2/xmltok.o clib2/xmlrole.o | |
90 | $(LIBTOOL) $(LTFLAGS) $@ $^ | |
91 | protect $@ -e | |
92 | ||
93 | clib2/xmlparse.o: xmlparse.c expat.h xmlrole.h xmltok.h \ | |
94 | expat_external.h internal.h amigaconfig.h | |
95 | ||
96 | clib2/xmlrole.o: xmlrole.c ascii.h xmlrole.h expat_external.h \ | |
97 | internal.h amigaconfig.h | |
98 | ||
99 | clib2/xmltok.o: xmltok.c xmltok_impl.c xmltok_ns.c ascii.h asciitab.h \ | |
100 | iasciitab.h latin1tab.h nametab.h utf8tab.h xmltok.h xmltok_impl.h \ | |
101 | expat_external.h internal.h amigaconfig.h | |
102 | ||
103 | ############################################################################# | |
104 | ||
105 | clib2/xmlwf: clib2/xmlwf.o clib2/xmlfile.o clib2/codepage.o clib2/readfilemap.o | |
106 | $(CC) -mcrt=clib2 $^ -o $@ clib2/libexpat.a | |
107 | $(STRIP) $(STRIPFLAGS) $@ | |
108 | ||
109 | clib2/xmlwf.o: xmlwf.c | |
110 | ||
111 | clib2/xmlfile.o: xmlfile.c | |
112 | ||
113 | clib2/codepage.o: codepage.c | |
114 | ||
115 | clib2/readfilemap.o: readfilemap.c | |
116 | ||
117 | ############################################################################# | |
118 | ||
119 | clib2/elements: clib2/elements.o | |
120 | $(CC) -mcrt=clib2 $^ -o $@ clib2/libexpat.a | |
121 | $(STRIP) $(STRIPFLAGS) $@ | |
122 | ||
123 | clib2/elements.o: elements.c | |
124 | ||
125 | ############################################################################# | |
126 | ||
127 | clib2/outline: clib2/outline.o | |
128 | $(CC) -mcrt=clib2 $^ -o $@ clib2/libexpat.a | |
129 | $(STRIP) $(STRIPFLAGS) $@ | |
130 | ||
131 | clib2/outline.o: outline.c | |
132 | ||
133 | ############################################################################# | |
134 | ||
135 | clib2/runtests: clib2/runtests.o clib2/chardata.o clib2/minicheck.o | |
136 | $(CC) -mcrt=clib2 $^ -o $@ clib2/libexpat.a | |
137 | ||
138 | clib2/chardata.o: chardata.c chardata.h | |
139 | ||
140 | clib2/minicheck.o: minicheck.c minicheck.h | |
141 | ||
142 | clib2/runtests.o: runtests.c chardata.h | |
143 | ||
144 | ############################################################################# | |
145 | ||
146 | clib2/benchmark: clib2/benchmark.o | |
147 | $(CC) -mcrt=clib2 $^ -o $@ clib2/libexpat.a -lm | |
148 | ||
149 | clib2/benchmark.o: benchmark.c | |
150 | ||
151 | ############################################################################# | |
152 | ||
153 | newlib/libexpat.a: newlib/xmlparse.o newlib/xmltok.o newlib/xmlrole.o | |
154 | $(LIBTOOL) $(LTFLAGS) $@ $^ | |
155 | protect $@ -e | |
156 | ||
157 | newlib/xmlparse.o: xmlparse.c expat.h xmlrole.h xmltok.h \ | |
158 | expat_external.h internal.h amigaconfig.h | |
159 | ||
160 | newlib/xmlrole.o: xmlrole.c ascii.h xmlrole.h expat_external.h \ | |
161 | internal.h amigaconfig.h | |
162 | ||
163 | newlib/xmltok.o: xmltok.c xmltok_impl.c xmltok_ns.c ascii.h asciitab.h \ | |
164 | iasciitab.h latin1tab.h nametab.h utf8tab.h xmltok.h xmltok_impl.h \ | |
165 | expat_external.h internal.h amigaconfig.h | |
166 | ||
167 | ############################################################################# | |
168 | ||
169 | newlib/xmlwf: newlib/xmlwf.o newlib/xmlfile.o newlib/codepage.o newlib/readfilemap.o | |
170 | $(CC) -mcrt=newlib $^ -o $@ newlib/libexpat.a | |
171 | $(STRIP) $(STRIPFLAGS) $@ | |
172 | ||
173 | newlib/xmlwf.o: xmlwf.c | |
174 | ||
175 | newlib/xmlfile.o: xmlfile.c | |
176 | ||
177 | newlib/codepage.o: codepage.c | |
178 | ||
179 | newlib/readfilemap.o: readfilemap.c | |
180 | ||
181 | ############################################################################# | |
182 | ||
183 | newlib/elements: newlib/elements.o | |
184 | $(CC) -mcrt=newlib $^ -o $@ newlib/libexpat.a | |
185 | $(STRIP) $(STRIPFLAGS) $@ | |
186 | ||
187 | newlib/elements.o: elements.c | |
188 | ||
189 | ############################################################################# | |
190 | ||
191 | newlib/outline: newlib/outline.o | |
192 | $(CC) -mcrt=newlib $^ -o $@ newlib/libexpat.a | |
193 | $(STRIP) $(STRIPFLAGS) $@ | |
194 | ||
195 | newlib/outline.o: outline.c | |
196 | ||
197 | ############################################################################# | |
198 | ||
199 | newlib/runtests: newlib/runtests.o newlib/chardata.o newlib/minicheck.o | |
200 | $(CC) -mcrt=newlib $^ -o $@ newlib/libexpat.a | |
201 | ||
202 | newlib/chardata.o: chardata.c chardata.h | |
203 | ||
204 | newlib/minicheck.o: minicheck.c minicheck.h | |
205 | ||
206 | newlib/runtests.o: runtests.c chardata.h | |
207 | ||
208 | ############################################################################# | |
209 | ||
210 | newlib/benchmark: newlib/benchmark.o | |
211 | $(CC) -mcrt=newlib $^ -o $@ newlib/libexpat.a | |
212 | ||
213 | newlib/benchmark.o: benchmark.c | |
214 | ||
215 | ############################################################################# | |
216 | ||
217 | libs/expat.library: libs/expat_lib.o libs/expat_68k.o libs/expat_68k_handler_stubs.o libs/expat_vectors.o newlib/libexpat.a | |
218 | $(CC) -mcrt=newlib -nostartfiles $^ -o $@ newlib/libexpat.a -Wl,--cref,-M,-Map=$@.map | |
219 | protect $@ -e | |
220 | $(STRIP) $(STRIPFLAGS) $@ | |
221 | ||
222 | libs/expat_lib.o: expat_lib.c expat_base.h | |
223 | ||
224 | libs/expat_68k.o: expat_68k.c expat_68k.h expat_base.h | |
225 | ||
226 | libs/expat_68k_handler_stubs.o: expat_68k_handler_stubs.c expat_68k.h | |
227 | ||
228 | libs/expat_vectors.o: expat_vectors.c | |
229 | ||
230 | libs/launch.o: launch.c | |
231 | ||
232 | ############################################################################# | |
233 | ||
234 | libs/xmlwf: libs/xmlwf.o libs/xmlfile.o libs/codepage.o libs/readfilemap.o libs/launch.o | |
235 | $(CC) -mcrt=newlib $^ -o $@ | |
236 | $(STRIP) $(STRIPFLAGS) $@ | |
237 | ||
238 | libs/xmlwf.o: xmlwf.c | |
239 | ||
240 | libs/xmlfile.o: xmlfile.c | |
241 | ||
242 | libs/codepage.o: codepage.c | |
243 | ||
244 | libs/readfilemap.o: readfilemap.c | |
245 | ||
246 | ############################################################################# | |
247 | ||
248 | libs/elements: libs/elements.o libs/launch.o | |
249 | $(CC) -mcrt=newlib $^ -o $@ | |
250 | $(STRIP) $(STRIPFLAGS) $@ | |
251 | ||
252 | libs/elements.o: elements.c | |
253 | ||
254 | ############################################################################# | |
255 | ||
256 | libs/outline: libs/outline.o libs/launch.o | |
257 | $(CC) -mcrt=newlib $^ -o $@ | |
258 | $(STRIP) $(STRIPFLAGS) $@ | |
259 | ||
260 | libs/outline.o: outline.c | |
261 | ||
262 | ############################################################################# | |
263 | ||
264 | libs/runtests: libs/runtests.o libs/chardata.o libs/minicheck.o libs/launch.o | |
265 | $(CC) -mcrt=newlib $^ -o $@ | |
266 | ||
267 | libs/chardata.o: chardata.c chardata.h | |
268 | ||
269 | libs/minicheck.o: minicheck.c minicheck.h | |
270 | ||
271 | libs/runtests.o: runtests.c chardata.h | |
272 | ||
273 | ############################################################################# | |
274 | ||
275 | libs/benchmark: libs/benchmark.o libs/launch.o | |
276 | $(CC) -mcrt=newlib $^ -o $@ | |
277 | ||
278 | libs/benchmark.o: benchmark.c | |
279 | ||
280 | ############################################################################# | |
281 | ||
282 | so/libexpat.so: so/xmlparse.o so/xmltok.o so/xmlrole.o | |
283 | $(CC) -mcrt=newlib -shared -o $@ $^ | |
284 | protect $@ -e | |
285 | ||
286 | so/xmlparse.o: xmlparse.c expat.h xmlrole.h xmltok.h \ | |
287 | expat_external.h internal.h amigaconfig.h | |
288 | ||
289 | so/xmlrole.o: xmlrole.c ascii.h xmlrole.h expat_external.h \ | |
290 | internal.h amigaconfig.h | |
291 | ||
292 | so/xmltok.o: xmltok.c xmltok_impl.c xmltok_ns.c ascii.h asciitab.h \ | |
293 | iasciitab.h latin1tab.h nametab.h utf8tab.h xmltok.h xmltok_impl.h \ | |
294 | expat_external.h internal.h amigaconfig.h | |
295 | ||
296 | ############################################################################# | |
297 | ||
298 | so/xmlwf: newlib/xmlwf.o newlib/xmlfile.o newlib/codepage.o newlib/readfilemap.o | |
299 | $(CC) -mcrt=newlib -use-dynld $^ -o $@ -Lso -lexpat | |
300 | $(STRIP) $(STRIPFLAGS) $@ | |
301 | ||
302 | ############################################################################# | |
303 | ||
304 | so/elements: newlib/elements.o | |
305 | $(CC) -mcrt=newlib -use-dynld $^ -o $@ -Lso -lexpat | |
306 | $(STRIP) $(STRIPFLAGS) $@ | |
307 | ||
308 | ############################################################################# | |
309 | ||
310 | so/outline: newlib/outline.o | |
311 | $(CC) -mcrt=newlib -use-dynld $^ -o $@ -Lso -lexpat | |
312 | $(STRIP) $(STRIPFLAGS) $@ | |
313 | ||
314 | ############################################################################# | |
315 | ||
316 | so/runtests: newlib/runtests.o newlib/chardata.o newlib/minicheck.o | |
317 | $(CC) -mcrt=newlib -use-dynld $^ -o $@ -Lso -lexpat | |
318 | ||
319 | ############################################################################# | |
320 | ||
321 | so/benchmark: newlib/benchmark.o | |
322 | $(CC) -mcrt=newlib -use-dynld $^ -o $@ -Lso -lexpat | |
323 | ||
324 | ############################################################################# | |
325 | ||
326 | clib2/%.o: %.c | |
327 | $(CC) -mcrt=clib2 $(CFLAGS) -I../lib -c $< -o $@ | |
328 | ||
329 | newlib/%.o: %.c | |
330 | $(CC) -mcrt=newlib $(CFLAGS) -I../lib -c $< -o $@ | |
331 | ||
332 | libs/%.o: %.c | |
333 | $(CC) -mcrt=newlib $(CFLAGS) -D__USE_INLINE__ -I. -Iinclude -Iinclude/libraries -I../lib -c $< -o $@ | |
334 | ||
335 | so/%.o: %.c | |
336 | $(CC) -mcrt=newlib $(CFLAGS) -fPIC -I../lib -c $< -o $@ |