5 .PHONY: help all staticlib sharedlib check clean install
7 vpath %.c ../lib ../examples ../xmlwf ../tests
8 vpath %.h ../lib ../tests
12 # Set these for SDK installation.
15 staticlibdir = SDK:Local/clib2/lib
16 staticincludedir = SDK:Local/clib2/include
17 sharedlibdir = SDK:Local/Libs
18 sharedincludedir = SDK:Local/common/include
21 ifeq ($(MAKECMDGOALS), staticlib)
27 STATICLIB = $(DESTDIR)/libexpat.a
28 SHAREDLIB = $(DESTDIR)/expat.library
30 XMLWF = $(DESTDIR)/xmlwf
31 ELEMENTS = $(DESTDIR)/elements
32 OUTLINE = $(DESTDIR)/outline
33 RUNTESTS = $(DESTDIR)/runtests
34 BENCHMARK = $(DESTDIR)/benchmark
44 @echo " all - make expat libraries, xmlwf, examples and run test suite"
45 @echo " install - install expat libraries and tools into SDK"
48 -makedir force lib libs
52 staticlib: $(STATICLIB) $(XMLWF) $(ELEMENTS) $(OUTLINE) $(RUNTESTS) $(BENCHMARK) check
55 sharedlib: $(SHAREDLIB) $(XMLWF) $(ELEMENTS) $(OUTLINE) $(RUNTESTS) $(BENCHMARK) check
62 -delete lib/#?.o quiet
63 -delete libs/#?.o quiet
66 copy libs/xmlwf $(tooldir) quiet
67 copy /lib/expat.h /lib/expat_external.h $(staticincludedir) quiet
68 copy lib/libexpat.a $(staticlibdir) quiet
69 copy libs/expat.library $(sharedlibdir) quiet
70 copy include $(sharedincludedir) quiet all
81 STRIPFLAGS = -R.comment
84 ifeq ($(MAKECMDGOALS), staticlib)
86 LDFLAGS += -mcrt=clib2
91 ifeq ($(MAKECMDGOALS), sharedlib)
92 CFLAGS += -mcrt=newlib -D__USE_INLINE__
93 LDFLAGS += -mcrt=newlib
94 INCLUDES = -I. -Iinclude -Iinclude/libraries -I../lib
95 LAUNCH = $(DESTDIR)/launch.o
99 COMPILE = $(CC) $(CFLAGS) $(INCLUDES) -c
101 LINK = $(CC) $(LDFLAGS) -o $@
104 $(STATICLIB): $(DESTDIR)/xmlparse.o $(DESTDIR)/xmltok.o $(DESTDIR)/xmlrole.o
105 $(LIBTOOL) $(LTFLAGS) $@ $^
107 $(DESTDIR)/xmlparse.o: xmlparse.c expat.h xmlrole.h xmltok.h \
108 expat_external.h internal.h amigaconfig.h
111 $(DESTDIR)/xmlrole.o: xmlrole.c ascii.h xmlrole.h expat_external.h \
112 internal.h amigaconfig.h
115 $(DESTDIR)/xmltok.o: xmltok.c xmltok_impl.c xmltok_ns.c ascii.h asciitab.h \
116 iasciitab.h latin1tab.h nametab.h utf8tab.h xmltok.h xmltok_impl.h \
117 expat_external.h internal.h amigaconfig.h
121 $(SHAREDLIB): $(DESTDIR)/expat_lib.o $(DESTDIR)/expat_vectors.o $(DESTDIR)/stdlib.o lib/libexpat.a
122 $(LINK) -nostartfiles -nostdlib -o $@ $^
124 $(DESTDIR)/expat_lib.o: expat_lib.c
127 $(DESTDIR)/expat_vectors.o: expat_vectors.c
130 $(DESTDIR)/stdlib.o: stdlib.c
137 $(XMLWF): $(DESTDIR)/xmlwf.o $(DESTDIR)/xmlfile.o $(DESTDIR)/codepage.o $(DESTDIR)/readfilemap.o $(LAUNCH)
139 $(STRIP) $(STRIPFLAGS) $@
141 $(DESTDIR)/xmlwf.o: xmlwf.c
144 $(DESTDIR)/xmlfile.o: xmlfile.c
147 $(DESTDIR)/codepage.o: codepage.c
150 $(DESTDIR)/readfilemap.o: readfilemap.c
154 $(ELEMENTS): $(DESTDIR)/elements.o $(LAUNCH)
156 $(STRIP) $(STRIPFLAGS) $@
158 $(DESTDIR)/elements.o: elements.c
162 $(OUTLINE): $(DESTDIR)/outline.o $(LAUNCH)
164 $(STRIP) $(STRIPFLAGS) $@
166 $(DESTDIR)/outline.o: outline.c
170 $(RUNTESTS): $(DESTDIR)/runtests.o $(DESTDIR)/chardata.o $(DESTDIR)/minicheck.o $(LAUNCH)
173 $(DESTDIR)/chardata.o: chardata.c chardata.h
176 $(DESTDIR)/minicheck.o: minicheck.c minicheck.h
179 $(DESTDIR)/runtests.o: runtests.c chardata.h
183 $(BENCHMARK): $(DESTDIR)/benchmark.o $(LAUNCH)
184 $(LINK) $^ $(LIBS) -lm
186 $(DESTDIR)/benchmark.o: benchmark/benchmark.c