# Copyright (C) 2001-2009 Joe Orton # Copyright (C) 1994, 1995-8, 1999, 2000 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # libtool bits mostly stolen from libxml and libtool/demo SHELL = @SHELL@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ mandir = @mandir@ man1dir = $(mandir)/man1 man3dir = $(mandir)/man3 datarootdir = @datarootdir@ datadir = @datadir@ docdir = $(datadir)/doc/neon-@NEON_VERSION@ includedir = @includedir@ neonincludes = $(includedir)/neon pkgconfigdir = $(libdir)/pkgconfig localedir = $(datadir)/locale top_srcdir = @top_srcdir@ top_builddir = . srcdir = @srcdir@ VPATH = @srcdir@ @SET_MAKE@ LDFLAGS = -L. @LDFLAGS@ LIBS = @LIBS@ CC = @CC@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL = @INSTALL@ transform = @program_transform_name@ LIBTOOL = @LIBTOOL@ XMLTO = xmlto GCOV = gcov XGETTEXT_OPTS = --keyword=_ --keyword=N_ --msgid-bugs-address=neon@lists.manyfish.co.uk \ --default-domain=neon --flag ne_print_request_header:3:c-format \ --flag ne_snprintf:3:c-format --flag ne_vsnprintf:3:c-format \ --flag ne_set_error:2:c-format POTFILE = $(top_srcdir)/po/neon.pot XGETTEXT = xgettext MSGFMT = msgfmt MSGMERGE = msgmerge LINGUAS = @ALL_LINGUAS@ # The headers to distribute - making up the public interface of neon DIST_HEADERS = ne_request.h ne_session.h ne_utils.h ne_uri.h ne_socket.h \ ne_basic.h ne_207.h ne_props.h ne_xml.h ne_dates.h ne_string.h \ ne_defs.h ne_locks.h ne_alloc.h ne_md5.h ne_i18n.h ne_redirect.h \ ne_auth.h ne_compress.h ne_acl.h ne_ssl.h ne_xmlreq.h ne_pkcs11.h \ ne_acl3744.h all: subdirs check: subdirs @cd test && $(MAKE) check # Useful for doing coverage analysis; use e.g.: # make TESTS=string-tests MODULE=ne_string.c cover cover: subdirs @rm -f src/*.*da test/common/*.*da test/*.*da @cd test && $(MAKE) check @cd src && $(GCOV) -cb $(MODULE) # as per 'cover' target; prints list of functions without 100% coverage uncover: subdirs @rm -f src/*.*da test/common/*.*da test/*.*da @cd test && $(MAKE) check @cd src && $(GCOV) -cb $(MODULE) @grep ^function src/$(MODULE).gcov | grep -v 'executed 100' | sort -nr -k 9,9 subdirs: @cd src && $(MAKE) # Uses Tim Waugh's excellent "xmlto" utility, see # http://cyberelk.net/tim/xmlto/. (The docs target is executed at release # time before generating a .tar.gz) docs: docs-man docs-html docs-man: rm -rf doc/man; mkdir doc/man $(XMLTO) -o `pwd`/doc/man -x doc/man.xsl man doc/manual.xml docs-pdf: $(XMLTO) -o `pwd`/doc pdf doc/manual.xml docs-ps: $(XMLTO) -o `pwd`/doc ps doc/manual.xml docs-html: test -d doc/html && rm -rf doc/html || true mkdir doc/html $(XMLTO) -o `pwd`/doc/html -x doc/html.xsl html doc/manual.xml # Validate the manual source docs-valid: xmllint --noout --valid doc/manual.xml clean: @cd src && $(MAKE) clean @cd test && $(MAKE) clean distclean: clean rm -rf Makefile config.h neon.pc config.status src/Makefile libtool config.log config.cache neon-config autom4te*.cache test/Makefile again: clean Makefile: $(srcdir)/Makefile.in @./config.status Makefile neon-config: $(srcdir)/neon-config.in @./config.status neon-config install-docs: install-man install-html install-html: $(INSTALL) -d $(DESTDIR)$(docdir)/html for d in $(srcdir)/doc/html/*.html; do \ $(INSTALL_DATA) $$d $(DESTDIR)$(docdir)/html; \ done install-man: $(INSTALL) -d $(DESTDIR)$(man3dir) $(INSTALL) -d $(DESTDIR)$(man1dir) for m in $(srcdir)/doc/man/*.3; do \ $(INSTALL_DATA) $$m $(DESTDIR)$(man3dir); done for m in $(srcdir)/doc/man/*.1; do \ $(INSTALL_DATA) $$m $(DESTDIR)$(man1dir); done install: install-@ALLOW_INSTALL@ install-memleak: @echo "ERROR: The neon internal memory leak checking code is for testing" @echo "ERROR: purposes only; this copy of neon must not be installed." @false install-yes: install-lib install-headers install-config install-docs install-nls # libtool does all the necessary magic here install-lib: subdirs $(INSTALL) -d $(DESTDIR)$(libdir) $(LIBTOOL) --mode=install $(INSTALL) src/libneon.la \ $(DESTDIR)$(libdir)/libneon.la install-headers: $(INSTALL) -d $(DESTDIR)$(neonincludes) @for h in $(DIST_HEADERS); do \ echo Installing $$h into $(DESTDIR)$(neonincludes); \ $(INSTALL_DATA) $(srcdir)/src/$$h $(DESTDIR)$(neonincludes)/$$h \ || exit 1; \ done install-config: neon-config neon.pc $(INSTALL) -d $(DESTDIR)$(bindir) @echo Installing neon-config into $(DESTDIR)$(bindir) @$(INSTALL_SCRIPT) neon-config \ $(DESTDIR)$(bindir)/`echo neon-config|sed '$(transform)'` $(INSTALL) -d $(DESTDIR)$(pkgconfigdir) $(INSTALL_DATA) neon.pc $(DESTDIR)$(pkgconfigdir)/neon.pc install-tests: install-lib @cd test && make install install-nls: install-nls-@NE_FLAG_I18N@ install-nls-no: @echo NLS not enabled. install-nls-yes: @for f in $(LINGUAS); do \ $(INSTALL) -d $(DESTDIR)$(localedir)/$$f/LC_MESSAGES; \ $(INSTALL_DATA) $(srcdir)/po/$$f.gmo $(DESTDIR)$(localedir)/$$f/LC_MESSAGES/neon.mo; \ done ChangeLog: svn log > $@ update-po: @xgettext $(XGETTEXT_OPTS) $(top_srcdir)/src/ne*.c -o $(POTFILE) @for f in $(LINGUAS); do \ echo "> Updating \"$$f\" catalog:"; \ $(MSGMERGE) --update $(top_srcdir)/po/$$f.po $(POTFILE); \ $(MSGFMT) --output /dev/null --check-format $(top_srcdir)/po/$$f.po || exit 1; \ done compile-gmo: @for f in $(LINGUAS); do \ echo "> Compiling \"$$f\" catalog:"; \ $(MSGFMT) --statistics -c -o po/$$f.gmo $(top_srcdir)/po/$$f.po; \ done update-copyright: Makefile sed -n '/^Copyright/q;p' < README > README.orig (cat README.orig; grep -h Copyright src/*.[ch] po/*.po macros/*.m4 \ | sed -r 's/\(C\) [12].+[0-9],? /(C) /;s/^\#//;s/^dnl//;s/[ ]*//;s/ *$$//;/Orton/d' | sort -u) > README doc-status: @echo -n "Missing docs for:" @for f in `nm src/.libs/libneon.so | grep ' T ' | colrm 1 11`; do \ test -f doc/man/$$f.3 || echo -n " $$f"; \ done; echo