| # |
| # Makefile for AmigaOS |
| # |
| |
| .PHONY: help all staticlib sharedlib check clean install |
| |
| vpath %.c ../lib ../examples ../xmlwf ../tests |
| vpath %.h ../lib ../tests |
| |
| |
| # |
| # Set these for SDK installation. |
| # |
| tooldir = SDK:Local/C |
| staticlibdir = SDK:Local/clib2/lib |
| staticincludedir = SDK:Local/clib2/include |
| sharedlibdir = SDK:Local/Libs |
| sharedincludedir = SDK:Local/common/include |
| |
| |
| ifeq ($(MAKECMDGOALS), staticlib) |
| DESTDIR = lib |
| else |
| DESTDIR = libs |
| endif |
| |
| STATICLIB = $(DESTDIR)/libexpat.a |
| SHAREDLIB = $(DESTDIR)/expat.library |
| |
| XMLWF = $(DESTDIR)/xmlwf |
| ELEMENTS = $(DESTDIR)/elements |
| OUTLINE = $(DESTDIR)/outline |
| RUNTESTS = $(DESTDIR)/runtests |
| BENCHMARK = $(DESTDIR)/benchmark |
| |
| |
| help: |
| @echo "Requires:" |
| @echo " AmigaOS 4.0" |
| @echo " SDK 51.22" |
| @echo " clib2 1.202" |
| @echo "" |
| @echo "Targets:" |
| @echo " all - make expat libraries, xmlwf, examples and run test suite" |
| @echo " install - install expat libraries and tools into SDK" |
| |
| all: |
| -makedir force lib libs |
| $(MAKE) staticlib |
| $(MAKE) sharedlib |
| |
| staticlib: $(STATICLIB) $(XMLWF) $(ELEMENTS) $(OUTLINE) $(RUNTESTS) $(BENCHMARK) check |
| @echo done |
| |
| sharedlib: $(SHAREDLIB) $(XMLWF) $(ELEMENTS) $(OUTLINE) $(RUNTESTS) $(BENCHMARK) check |
| @echo done |
| |
| check: |
| $(RUNTESTS) |
| |
| clean: |
| -delete lib/#?.o quiet |
| -delete libs/#?.o quiet |
| |
| install: |
| copy libs/xmlwf $(tooldir) quiet |
| copy /lib/expat.h /lib/expat_external.h $(staticincludedir) quiet |
| copy lib/libexpat.a $(staticlibdir) quiet |
| copy libs/expat.library $(sharedlibdir) quiet |
| copy include $(sharedincludedir) quiet all |
| |
| |
| CC = gcc |
| LIBTOOL = ar |
| STRIP = strip |
| |
| LDFLAGS = |
| LIBS = |
| CFLAGS = -DNDEBUG -O2 |
| LTFLAGS = -crs |
| STRIPFLAGS = -R.comment |
| LAUNCH = |
| |
| ifeq ($(MAKECMDGOALS), staticlib) |
| CFLAGS += -mcrt=clib2 |
| LDFLAGS += -mcrt=clib2 |
| LIBS += $(STATICLIB) |
| INCLUDES = -I../lib |
| endif |
| |
| ifeq ($(MAKECMDGOALS), sharedlib) |
| CFLAGS += -mcrt=newlib -D__USE_INLINE__ |
| LDFLAGS += -mcrt=newlib |
| INCLUDES = -I. -Iinclude -Iinclude/libraries -I../lib |
| LAUNCH = $(DESTDIR)/launch.o |
| endif |
| |
| |
| COMPILE = $(CC) $(CFLAGS) $(INCLUDES) -c |
| |
| LINK = $(CC) $(LDFLAGS) -o $@ |
| |
| |
| $(STATICLIB): $(DESTDIR)/xmlparse.o $(DESTDIR)/xmltok.o $(DESTDIR)/xmlrole.o |
| $(LIBTOOL) $(LTFLAGS) $@ $^ |
| |
| $(DESTDIR)/xmlparse.o: xmlparse.c expat.h xmlrole.h xmltok.h \ |
| expat_external.h internal.h amigaconfig.h |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/xmlrole.o: xmlrole.c ascii.h xmlrole.h expat_external.h \ |
| internal.h amigaconfig.h |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/xmltok.o: xmltok.c xmltok_impl.c xmltok_ns.c ascii.h asciitab.h \ |
| iasciitab.h latin1tab.h nametab.h utf8tab.h xmltok.h xmltok_impl.h \ |
| expat_external.h internal.h amigaconfig.h |
| $(COMPILE) $< -o $@ |
| |
| |
| $(SHAREDLIB): $(DESTDIR)/expat_lib.o $(DESTDIR)/expat_vectors.o $(DESTDIR)/stdlib.o lib/libexpat.a |
| $(LINK) -nostartfiles -nostdlib -o $@ $^ |
| |
| $(DESTDIR)/expat_lib.o: expat_lib.c |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/expat_vectors.o: expat_vectors.c |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/stdlib.o: stdlib.c |
| $(COMPILE) $< -o $@ |
| |
| $(LAUNCH): launch.c |
| $(COMPILE) $< -o $@ |
| |
| |
| $(XMLWF): $(DESTDIR)/xmlwf.o $(DESTDIR)/xmlfile.o $(DESTDIR)/codepage.o $(DESTDIR)/readfilemap.o $(LAUNCH) |
| $(LINK) $^ $(LIBS) |
| $(STRIP) $(STRIPFLAGS) $@ |
| |
| $(DESTDIR)/xmlwf.o: xmlwf.c |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/xmlfile.o: xmlfile.c |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/codepage.o: codepage.c |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/readfilemap.o: readfilemap.c |
| $(COMPILE) $< -o $@ |
| |
| |
| $(ELEMENTS): $(DESTDIR)/elements.o $(LAUNCH) |
| $(LINK) $^ $(LIBS) |
| $(STRIP) $(STRIPFLAGS) $@ |
| |
| $(DESTDIR)/elements.o: elements.c |
| $(COMPILE) $< -o $@ |
| |
| |
| $(OUTLINE): $(DESTDIR)/outline.o $(LAUNCH) |
| $(LINK) $^ $(LIBS) |
| $(STRIP) $(STRIPFLAGS) $@ |
| |
| $(DESTDIR)/outline.o: outline.c |
| $(COMPILE) $< -o $@ |
| |
| |
| $(RUNTESTS): $(DESTDIR)/runtests.o $(DESTDIR)/chardata.o $(DESTDIR)/minicheck.o $(LAUNCH) |
| $(LINK) $^ $(LIBS) |
| |
| $(DESTDIR)/chardata.o: chardata.c chardata.h |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/minicheck.o: minicheck.c minicheck.h |
| $(COMPILE) $< -o $@ |
| |
| $(DESTDIR)/runtests.o: runtests.c chardata.h |
| $(COMPILE) $< -o $@ |
| |
| |
| $(BENCHMARK): $(DESTDIR)/benchmark.o $(LAUNCH) |
| $(LINK) $^ $(LIBS) -lm |
| |
| $(DESTDIR)/benchmark.o: benchmark/benchmark.c |
| $(COMPILE) $< -o $@ |