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 $@
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>