X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=Makefile.am;h=a0431a6cb7a93c57a74f5598440e538523eb6695;hb=6d22a179dffd08fcf2a44aafb361725ab22486d4;hp=f31a9187847bca1156672e6b49ba098ba2e43ed8;hpb=f852b15718e4800cbda7b33dd7ec0b5cbd6f35cb;p=people%2Fms%2Flibloc.git diff --git a/Makefile.am b/Makefile.am index f31a918..a0431a6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,11 +1,14 @@ EXTRA_DIST = CLEANFILES = +INSTALL_DIRS = ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} AM_MAKEFLAGS = --no-print-directory SUBDIRS = . po BINDINGS = +OS = $(shell uname -s) + if ENABLE_PERL BINDINGS += perl endif @@ -19,48 +22,83 @@ AM_CFLAGS = ${my_CFLAGS} \ -ffunction-sections \ -fdata-sections -AM_LDFLAGS = \ - -Wl,--gc-sections \ - -Wl,--as-needed +AM_LDFLAGS = + +# leaving a space here to work around automake's conditionals + ifeq ($(OS),Darwin) + AM_LDFLAGS += -Wl,-dead_strip + else + AM_LDFLAGS += \ + -Wl,--as-needed \ + -Wl,--gc-sections + endif -LIBLOC_CURRENT=0 +LIBLOC_CURRENT=1 LIBLOC_REVISION=0 LIBLOC_AGE=0 +DISTCHECK_CONFIGURE_FLAGS = \ + --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) + SED_PROCESS = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \ -e 's,@VERSION\@,$(VERSION),g' \ -e 's,@prefix\@,$(prefix),g' \ -e 's,@exec_prefix\@,$(exec_prefix),g' \ + -e 's,@bindir\@,$(bindir),g' \ -e 's,@libdir\@,$(libdir),g' \ -e 's,@includedir\@,$(includedir),g' \ -e 's,@databasedir\@,$(databasedir),g' \ < $< > $@ || rm $@ -databasedir = $(datadir)/location +databasedir = $(localstatedir)/lib/location pkgconfigdir = $(libdir)/pkgconfig +# Overwrite Python path +pkgpythondir = $(pythondir)/location + %: %.in Makefile $(SED_PROCESS) @INTLTOOL_POLICY_RULE@ +# ------------------------------------------------------------------------------ + +AM_V_ASCIIDOC = $(AM_V_ASCIIDOC_$(V)) +AM_V_ASCIIDOC_ = $(AM_V_ASCIIDOC_$(AM_DEFAULT_VERBOSITY)) +AM_V_ASCIIDOC_0 = @echo " ASCIIDOC" $@; + +AM_V_XSLT = $(AM_V_XSLT_$(V)) +AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY)) +AM_V_XSLT_0 = @echo " XSLT " $@; + +# ------------------------------------------------------------------------------ + .PHONY: update-po -update-po: +update-po: po/POTFILES.in $(MAKE) -C po update-po +po/POTFILES.in: Makefile + find $(abs_srcdir)/src | \ + grep -E "\.(in|py)$$" | sed -e "s@$(abs_srcdir)/@@g" | sort > $@ + EXTRA_DIST += \ + examples/private-key.pem \ + examples/public-key.pem \ examples/python/create-database.py \ examples/python/read-database.py pkginclude_HEADERS = \ src/loc/libloc.h \ src/loc/as.h \ + src/loc/compat.h \ + src/loc/country.h \ src/loc/database.h \ src/loc/format.h \ src/loc/network.h \ src/loc/private.h \ src/loc/stringpool.h \ + src/loc/resolv.h \ src/loc/writer.h lib_LTLIBRARIES = \ @@ -69,8 +107,10 @@ lib_LTLIBRARIES = \ src_libloc_la_SOURCES = \ src/libloc.c \ src/as.c \ + src/country.c \ src/database.c \ src/network.c \ + src/resolv.c \ src/stringpool.c \ src/writer.c @@ -83,8 +123,17 @@ src_libloc_la_CFLAGS = \ src_libloc_la_LDFLAGS = \ $(AM_LDFLAGS) \ - -version-info $(LIBLOC_CURRENT):$(LIBLOC_REVISION):$(LIBLOC_AGE) \ - -Wl,--version-script=$(top_srcdir)/src/libloc.sym + -version-info $(LIBLOC_CURRENT):$(LIBLOC_REVISION):$(LIBLOC_AGE) + +if HAVE_LD_VERSION_SCRIPT +src_libloc_la_LDFLAGS += -Wl,--version-script=$(top_srcdir)/src/libloc.sym +else +src_libloc_la_LDFLAGS += -export-symbols $(top_srcdir)/src/libloc.sym +endif + +src_libloc_la_LIBADD = \ + $(OPENSSL_LIBS) \ + $(RESOLV_LIBS) src_libloc_la_DEPENDENCIES = \ ${top_srcdir}/src/libloc.sym @@ -98,14 +147,33 @@ EXTRA_DIST += \ CLEANFILES += \ src/libloc.pc +dist_pkgpython_PYTHON = \ + src/python/database.py \ + src/python/downloader.py \ + src/python/export.py \ + src/python/i18n.py \ + src/python/importer.py \ + src/python/logger.py + +pkgpython_PYTHON = \ + src/python/__init__.py + +EXTRA_DIST += \ + src/python/__init__.py.in + +CLEANFILES += \ + src/python/__init__.py + pyexec_LTLIBRARIES = \ - src/python/location.la + src/python/_location.la -src_python_location_la_SOURCES = \ +src_python__location_la_SOURCES = \ src/python/locationmodule.c \ src/python/locationmodule.h \ src/python/as.c \ src/python/as.h \ + src/python/country.c \ + src/python/country.h \ src/python/database.c \ src/python/database.h \ src/python/network.c \ @@ -113,17 +181,17 @@ src_python_location_la_SOURCES = \ src/python/writer.c \ src/python/writer.h -src_python_location_la_CFLAGS = \ +src_python__location_la_CFLAGS = \ $(AM_CFLAGS) \ $(PYTHON_CFLAGS) -src_python_location_la_LDFLAGS = \ +src_python__location_la_LDFLAGS = \ $(AM_LDFLAGS) \ -shared \ -module \ -avoid-version -src_python_location_la_LIBADD = \ +src_python__location_la_LIBADD = \ src/libloc.la \ $(PYTHON_LIBS) @@ -156,11 +224,12 @@ build-perl: cd $(builddir)/src/perl && $(PERL) Makefile.PL PREFIX="$(prefix)" \ INC="-I$(abs_srcdir)/src" LIBS="-L$(abs_builddir)/src/.libs -lloc" - cd $(builddir)/src/perl && $(MAKE) + cd $(builddir)/src/perl && $(MAKE) CC="$(CC)" LD="$(LD)" LD_RUN_PATH= .PHONY: check-perl check-perl: testdata.db - cd $(builddir)/src/perl && $(MAKE) test database="../../$<" + cd $(builddir)/src/perl && $(MAKE) LD_LIBRARY_PATH="$(abs_builddir)/src/.libs" test \ + database="../../$<" keyfile="$(abs_srcdir)/examples/public-key.pem" .PHONY: install-perl install-perl: @@ -179,38 +248,72 @@ uninstall-perl: $(DESTDIR)/$(prefix)/man/man3/Location.3pm bin_SCRIPTS = \ - src/python/location-query + src/python/location \ + src/python/location-importer EXTRA_DIST += \ - src/python/location-query.in + src/python/location.in \ + src/python/location-importer.in CLEANFILES += \ - src/python/location-query + src/python/location \ + src/python/location-importer + +# ------------------------------------------------------------------------------ + +if HAVE_SYSTEMD +systemdsystemunit_DATA = \ + src/systemd/location-update.service \ + src/systemd/location-update.timer + +CLEANFILES += \ + $(systemdsystemunit_DATA) + +INSTALL_DIRS += \ + $(systemdsystemunitdir) +endif + +EXTRA_DIST += \ + src/systemd/location-update.service.in \ + src/systemd/location-update.timer.in + +# ------------------------------------------------------------------------------ + +dist_database_DATA = \ + src/signing-key.pem + +# ------------------------------------------------------------------------------ TESTS_CFLAGS = \ $(AM_CFLAGS) \ - -DLIBLOC_PRIVATE + -DLIBLOC_PRIVATE \ + -DABS_SRCDIR=\"$(abs_srcdir)\" TESTS = \ src/test-libloc \ src/test-stringpool \ src/test-database \ src/test-as \ - src/test-network + src/test-network \ + src/test-country \ + src/test-signature CLEANFILES += \ - test.db \ testdata.db testdata.db: examples/python/create-database.py - PYTHONPATH=$(abs_builddir)/src/python/.libs $(PYTHON) $< $@ + PYTHONPATH=$(abs_builddir)/src/python/.libs \ + ABS_SRCDIR="$(abs_srcdir)" \ + $(PYTHON) $< $@ check_PROGRAMS = \ src/test-libloc \ src/test-stringpool \ src/test-database \ src/test-as \ - src/test-network + src/test-network \ + src/test-country \ + src/test-signature src_test_libloc_SOURCES = \ src/test-libloc.c @@ -230,6 +333,15 @@ src_test_as_CFLAGS = \ src_test_as_LDADD = \ src/libloc.la +src_test_country_SOURCES = \ + src/test-country.c + +src_test_country_CFLAGS = \ + $(TESTS_CFLAGS) + +src_test_country_LDADD = \ + src/libloc.la + src_test_network_SOURCES = \ src/test-network.c @@ -256,3 +368,93 @@ src_test_database_CFLAGS = \ src_test_database_LDADD = \ src/libloc.la + +src_test_signature_SOURCES = \ + src/test-signature.c + +src_test_signature_CFLAGS = \ + $(TESTS_CFLAGS) + +src_test_signature_LDADD = \ + src/libloc.la + +# ------------------------------------------------------------------------------ + +MANPAGES = \ + man/location.8 + +MANPAGES_TXT = $(patsubst %.8,%.txt,$(MANPAGES)) +MANPAGES_HTML = $(patsubst %.txt,%.html,$(MANPAGES_TXT)) +MANPAGES_XML = $(patsubst %.txt,%.xml,$(MANPAGES_TXT)) + +.PHONY: man +man: $(MANPAGES) $(MANPAGES_HTML) + +if ENABLE_MANPAGES +man_MANS = \ + $(MANPAGES) +endif + +CLEANFILES += \ + $(MANPAGES) \ + $(MANPAGES_HTML) \ + $(MANPAGES_XML) + +EXTRA_DIST += \ + man/asciidoc.conf \ + $(MANPAGES_TXT) + +XSLTPROC_FLAGS = \ + --nonet \ + --stringparam man.output.quietly 1 \ + --stringparam funcsynopsis.style ansi \ + --stringparam man.th.extra1.suppress 1 \ + --stringparam man.authors.section.enabled 1 \ + --stringparam man.copyright.section.enabled 1 + +XSLTPROC_COMMAND_MAN = \ + $(AM_V_XSLT)$(MKDIR_P) $(dir $@) && \ + $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \ + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +# Let XSLT find its source on Mac OS X + ifeq ($(OS),Darwin) +export XML_CATALOG_FILES = /usr/local/etc/xml/catalog + endif + +man/%.xml: man/%.txt man/asciidoc.conf + $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \ + $(ASCIIDOC) \ + -f $(abs_srcdir)/man/asciidoc.conf \ + -d manpage -b docbook -o $@ $< + +man/%.8: man/%.xml + $(XSLTPROC_COMMAND_MAN) + +man/%.html: man/%.txt man/asciidoc.conf + $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \ + $(ASCIIDOC) \ + -f $(abs_srcdir)/man/asciidoc.conf \ + -b html5 -a icons -a theme=flask -o $@ $< + +.PHONY: upload-man +upload-man: $(MANPAGES_HTML) + rsync -avHz --delete --progress $(MANPAGES_HTML) ms@fs01.haj.ipfire.org:/pub/man-pages/$(PACKAGE_NAME)/ + +EXTRA_DIST += \ + debian/build.sh \ + debian/changelog \ + debian/compat \ + debian/control \ + debian/copyright \ + debian/location.install \ + debian/location.manpages \ + debian/location-python.install \ + debian/libloc1.install \ + debian/libloc-dev.install \ + debian/rules \ + debian/source/format + +.PHONY: debian +debian: dist + $(SHELL) debian/build.sh $(PACKAGE_NAME)-$(PACKAGE_VERSION) $(distdir).tar.xz