| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- #
- # 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 $@
|