1 ################################################################
2 # Process this file with top-level configure script to produce Makefile
4 # Copyright 2000 Clark Cooper
6 # This file is part of EXPAT.
8 # EXPAT is free software; you can redistribute it and/or modify it
9 # under the terms of the License (based on the MIT/X license) contained
10 # in the file COPYING that comes with this distribution.
12 # EXPAT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
13 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
15 # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
16 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
17 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
18 # SOFTWARE OR THE USE OR OTHER DEALINGS IN EXPAT.
24 top_srcdir = @top_srcdir@
28 exec_prefix = @exec_prefix@
32 includedir = @includedir@
33 man1dir = @mandir@/man1
39 INSTALL_PROGRAM = @INSTALL_PROGRAM@
40 INSTALL_DATA = @INSTALL_DATA@
41 mkinstalldirs = $(SHELL) $(top_srcdir)/conftools/mkinstalldirs
43 MANFILE = $(srcdir)/doc/xmlwf.1
44 APIHEADER = $(srcdir)/lib/expat.h $(srcdir)/lib/expat_external.h
47 DESTDIR = $(INSTALL_ROOT)
49 default: buildlib xmlwf/xmlwf
53 all: $(LIBRARY) xmlwf/xmlwf examples/elements examples/outline
56 cd lib && rm -f $(LIBRARY) *.o *.lo && rm -rf .libs _libs
57 cd xmlwf && rm -f xmlwf *.o *.lo && rm -rf .libs _libs
58 cd examples && rm -f elements outline *.o *.lo && rm -rf .libs _libs
59 cd tests && rm -rf .libs runtests runtests.o runtestspp runtestspp.o
60 cd tests && rm -f chardata.o minicheck.o
61 rm -rf .libs libexpat.la
62 rm -f examples/core tests/core xmlwf/core
67 rm -f expat_config.h config.status config.log config.cache libtool
71 rm -f expat_config.h.in configure
72 rm -f conftools/ltconfig conftools/ltmain.sh conftools/libtool.m4
74 check: tests/runtests tests/runtestspp
78 install: xmlwf/xmlwf installlib
79 $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
80 $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) xmlwf/xmlwf $(DESTDIR)$(bindir)/xmlwf
81 $(INSTALL_DATA) $(MANFILE) $(DESTDIR)$(man1dir)
83 installlib: $(LIBRARY) $(APIHEADER)
84 $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
85 $(LIBTOOL) --mode=install $(INSTALL) $(LIBRARY) $(DESTDIR)$(libdir)/$(LIBRARY)
86 for FN in $(APIHEADER) ; do $(INSTALL_DATA) $$FN $(DESTDIR)$(includedir) ; done
88 uninstall: uninstalllib
89 $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(bindir)/xmlwf
90 rm -f $(DESTDIR)$(man1dir)/xmlwf.1
93 $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(LIBRARY)
94 rm -f $(DESTDIR)$(includedir)/expat.h
95 rm -f $(DESTDIR)$(includedir)/expat_external.h
97 # for VPATH builds (invoked by configure)
99 @for d in lib xmlwf examples tests ; do \
100 (mkdir $$d 2> /dev/null || test 1) ; \
107 INCLUDES = -I$(srcdir)/lib -I.
109 CPPFLAGS = @CPPFLAGS@ -DHAVE_EXPAT_CONFIG_H
111 CXXFLAGS = @CXXFLAGS@
112 VSNFLAG = -version-info @LIBCURRENT@:@LIBREVISION@:@LIBAGE@
117 COMPILE = $(CC) $(INCLUDES) $(CFLAGS) $(DEFS) $(CPPFLAGS)
118 CXXCOMPILE = $(CXX) $(INCLUDES) $(CXXFLAGS) $(DEFS) $(CPPFLAGS)
119 LTCOMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE)
120 LINK_LIB = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) -no-undefined $(VSNFLAG) -rpath $(libdir) $(LDFLAGS) -o $@
121 LINK_EXE = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LDFLAGS) -o $@
122 LINK_CXX_EXE = $(LIBTOOL) $(LTFLAGS) --mode=link $(CXXCOMPILE) $(LDFLAGS) -o $@
124 LIB_OBJS = lib/xmlparse.lo lib/xmltok.lo lib/xmlrole.lo
125 $(LIBRARY): $(LIB_OBJS)
126 $(LINK_LIB) $(LIB_OBJS)
128 lib/xmlparse.lo: lib/xmlparse.c lib/expat.h lib/xmlrole.h lib/xmltok.h \
129 $(top_builddir)/expat_config.h lib/expat_external.h lib/internal.h
131 lib/xmlrole.lo: lib/xmlrole.c lib/ascii.h lib/xmlrole.h \
132 $(top_builddir)/expat_config.h lib/expat_external.h lib/internal.h
134 lib/xmltok.lo: lib/xmltok.c lib/xmltok_impl.c lib/xmltok_ns.c \
135 lib/ascii.h lib/asciitab.h lib/iasciitab.h lib/latin1tab.h \
136 lib/nametab.h lib/utf8tab.h lib/xmltok.h lib/xmltok_impl.h \
137 $(top_builddir)/expat_config.h lib/expat_external.h lib/internal.h
140 XMLWF_OBJS = xmlwf/xmlwf.o xmlwf/xmlfile.o xmlwf/codepage.o xmlwf/@FILEMAP@.o
141 xmlwf/xmlwf.o: xmlwf/xmlwf.c
142 xmlwf/xmlfile.o: xmlwf/xmlfile.c
143 xmlwf/codepage.o: xmlwf/codepage.c
144 xmlwf/@FILEMAP@.o: xmlwf/@FILEMAP@.c
145 xmlwf/xmlwf: $(XMLWF_OBJS) $(LIBRARY)
146 $(LINK_EXE) $(XMLWF_OBJS) $(LIBRARY)
148 examples/elements.o: examples/elements.c
149 examples/elements: examples/elements.o $(LIBRARY)
150 $(LINK_EXE) $< $(LIBRARY)
152 examples/outline.o: examples/outline.c
153 examples/outline: examples/outline.o $(LIBRARY)
154 $(LINK_EXE) $< $(LIBRARY)
156 tests/chardata.o: tests/chardata.c tests/chardata.h
157 tests/minicheck.o: tests/minicheck.c tests/minicheck.h
158 tests/runtests.o: tests/runtests.c tests/chardata.h
159 tests/runtests: tests/runtests.o tests/chardata.o tests/minicheck.o $(LIBRARY)
160 $(LINK_EXE) tests/runtests.o tests/chardata.o tests/minicheck.o $(LIBRARY)
161 tests/runtestspp.o: tests/runtestspp.cpp tests/runtests.c tests/chardata.h
162 tests/runtestspp: tests/runtestspp.o tests/chardata.o tests/minicheck.o $(LIBRARY)
163 $(LINK_CXX_EXE) tests/runtestspp.o tests/chardata.o tests/minicheck.o $(LIBRARY)
166 wget --output-document=tests/xmlts.zip \
167 http://www.w3.org/XML/Test/xmlts20020606.zip
169 tests/XML-Test-Suite: tests/xmlts.zip
170 cd tests && unzip -q xmlts.zip
172 run-xmltest: xmlwf/xmlwf tests/XML-Test-Suite
175 .SUFFIXES: .c .cpp .lo .o
178 $(CXXCOMPILE) -o $@ -c $<
180 $(COMPILE) -o $@ -c $<
182 $(LTCOMPILE) -o $@ -c $<
184 .PHONY: buildlib all \
185 clean distclean extraclean maintainer-clean \