################################################################ # Process this file with top-level configure script to produce Makefile # # Copyright 2000 Clark Cooper # # This file is part of EXPAT. # # EXPAT is free software; you can redistribute it and/or modify it # under the terms of the License (based on the MIT/X license) contained # in the file COPYING that comes with this distribution. # # EXPAT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # SOFTWARE OR THE USE OR OTHER DEALINGS IN EXPAT. # # --- # I started using automake, but # 1) it seemed like overkill # 2) I don't want all the GNU policies # 3) I wanted more explicit control over what gets built # # So I'm doing my Makefile.in files manually. But a fair part is based # on what I learned from perusing the Makefile.in's generated by automake, # and the automake authors still get my kudos. # SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ includedir = @includedir@ top_builddir = . INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ mkinstalldirs = $(SHELL) $(top_srcdir)/conftools/mkinstalldirs APIHEADER = expat.h LIBRARY = libexpat.la default: buildlib xmlwf/xmlwf buildlib: lib/$(LIBRARY) all: lib/$(LIBRARY) xmlwf/xmlwf examples/elements examples/outline clean: cd lib && rm -f $(LIBRARY) *.o *.lo && rm -rf .libs _libs cd xmlwf && rm -f xmlwf *.o *.lo && rm -rf .libs _libs cd examples && rm -f elements outline *.o *.lo && rm -rf .libs _libs find . -name core | xargs rm -f distclean: clean rm -f config.h config.status config.log config.cache libtool rm -f Makefile extraclean: distclean rm -f config.h.in configure rm -f conftools/config.guess conftools/config.sub rm -f conftools/ltconfig conftools/ltmain.sh check: tests/runtests tests/runtests install: xmlwf/xmlwf lib/$(LIBRARY) lib/$(APIHEADER) $(mkinstalldirs) $(bindir) $(libdir) $(includedir) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) xmlwf/xmlwf $(bindir)/xmlwf $(LIBTOOL) --mode=install $(INSTALL) lib/$(LIBRARY) $(libdir)/$(LIBRARY) $(INSTALL_DATA) lib/$(APIHEADER) $(includedir) uninstall: $(LIBTOOL) --mode=uninstall rm -f $(bindir)/xmlwf $(LIBTOOL) --mode=uninstall rm -f $(libdir)/$(LIBRARY) rm -f $(libdir)/$(APIHEADER) # for VPATH builds (invoked by configure) mkdir-init: @for d in lib xmlwf examples tests ; do \ (mkdir $$d 2> /dev/null || test 1) ; \ done CC = @CC@ LIBTOOL = @LIBTOOL@ INCLUDES = -Ilib -I. LDFLAGS = @LDFLAGS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ VSNFLAG = -version-info @LIBCURRENT@:@LIBREVISION@:@LIBAGE@ ### autoconf this? LTFLAGS = --silent COMPILE = $(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) $(INCLUDES) LTCOMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) LINK_LIB = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(VSNFLAG) -rpath $(libdir) $(LDFLAGS) -o $@ LINK_EXE = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LDFLAGS) -o $@ LIB_OBJS = lib/xmlparse.lo lib/xmltok.lo lib/xmlrole.lo lib/$(LIBRARY): $(LIB_OBJS) $(LINK_LIB) $(LIB_OBJS) lib/xmlparse.lo: lib/xmlparse.c lib/expat.h lib/xmlrole.h lib/xmltok.h \ $(top_builddir)/config.h lib/xmlrole.lo: lib/xmlrole.c lib/ascii.h lib/xmlrole.h \ $(top_builddir)/config.h lib/xmltok.lo: lib/xmltok.c lib/xmltok_impl.c lib/xmltok_ns.c \ lib/ascii.h lib/asciitab.h lib/iasciitab.h lib/latin1tab.h \ lib/nametab.h lib/utf8tab.h lib/xmltok.h lib/xmltok_impl.h \ $(top_builddir)/config.h XMLWF_OBJS = xmlwf/xmlwf.o xmlwf/xmlfile.o xmlwf/codepage.o xmlwf/@FILEMAP@.o xmlwf/xmlwf.o: xmlwf/xmlwf.c xmlwf/xmlfile.o: xmlwf/xmlfile.c xmlwf/codepage.o: xmlwf/codepage.c xmlwf/@FILEMAP@.o: xmlwf/@FILEMAP@.c xmlwf/xmlwf: $(XMLWF_OBJS) $(LINK_EXE) $(XMLWF_OBJS) lib/$(LIBRARY) examples/elements.o: examples/elements.c examples/elements: examples/elements.o lib/$(LIBRARY) $(LINK_EXE) $< lib/$(LIBRARY) examples/outline.o: examples/outline.c examples/outline: examples/outline.o lib/$(LIBRARY) $(LINK_EXE) $< lib/$(LIBRARY) tests/runtests.o: tests/runtests.c tests/runtests: tests/runtests.o lib/$(LIBRARY) $(LINK_EXE) $< lib/$(LIBRARY) .SUFFIXES: .c .lo .o .c.o: $(COMPILE) -o $@ -c $< .c.lo: $(LTCOMPILE) -o $@ -c $< .PHONY: buildlib all \ clean distclean extraclean maintainer-clean \ dist distdir \ install uninstall