]> git.ipfire.org Git - people/ms/libloc.git/blobdiff - Makefile.am
database: Print timings in milliseconds
[people/ms/libloc.git] / Makefile.am
index 2372937f0a32673ac3f9b9daa145bd94077adcfa..f31a9187847bca1156672e6b49ba098ba2e43ed8 100644 (file)
@@ -3,6 +3,13 @@ CLEANFILES =
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
 AM_MAKEFLAGS = --no-print-directory
 
+SUBDIRS = . po
+BINDINGS =
+
+if ENABLE_PERL
+BINDINGS += perl
+endif
+
 AM_CPPFLAGS = \
        -include $(top_builddir)/config.h \
        -DSYSCONFDIR=\""$(sysconfdir)"\" \
@@ -27,13 +34,21 @@ SED_PROCESS = \
        -e 's,@exec_prefix\@,$(exec_prefix),g' \
        -e 's,@libdir\@,$(libdir),g' \
        -e 's,@includedir\@,$(includedir),g' \
+       -e 's,@databasedir\@,$(databasedir),g' \
        < $< > $@ || rm $@
 
+databasedir = $(datadir)/location
 pkgconfigdir = $(libdir)/pkgconfig
 
-%.pc: %.pc.in Makefile
+%: %.in Makefile
        $(SED_PROCESS)
 
+@INTLTOOL_POLICY_RULE@
+
+.PHONY: update-po
+update-po:
+       $(MAKE) -C po update-po
+
 EXTRA_DIST += \
        examples/python/create-database.py \
        examples/python/read-database.py
@@ -112,6 +127,66 @@ src_python_location_la_LIBADD = \
        src/libloc.la \
        $(PYTHON_LIBS)
 
+# Compile & install bindings
+all-local: $(foreach binding,$(BINDINGS),build-$(binding))
+check-local: $(foreach binding,$(BINDINGS),check-$(binding))
+install-exec-local: $(foreach binding,$(BINDINGS),install-$(binding))
+clean-local: $(foreach binding,$(BINDINGS),clean-$(binding))
+uninstall-local: $(foreach binding,$(BINDINGS),uninstall-$(binding))
+
+# Perl Bindings
+EXTRA_DIST += \
+       src/perl/.gitignore \
+       src/perl/Location.xs \
+       src/perl/MANIFEST \
+       src/perl/Makefile.PL \
+       src/perl/lib/Location.pm \
+       src/perl/t/Location.t \
+       src/perl/typemap
+
+.PHONY: build-perl
+build-perl:
+       @mkdir -p $(builddir)/src/perl/{lib,t}
+       @test -e $(builddir)/src/perl/Location.xs || ln -s --relative $(srcdir)/src/perl/Location.xs $(builddir)/src/perl/
+       @test -e $(builddir)/src/perl/MANIFEST || ln -s --relative $(srcdir)/src/perl/MANIFEST $(builddir)/src/perl/
+       @test -e $(builddir)/src/perl/Makefile.PL || ln -s --relative $(srcdir)/src/perl/Makefile.PL $(builddir)/src/perl/
+       @test -e $(builddir)/src/perl/lib/Location.pm || ln -s --relative $(srcdir)/src/perl/lib/Location.pm $(builddir)/src/perl/lib/
+       @test -e $(builddir)/src/perl/t/Location.t || ln -s --relative $(srcdir)/src/perl/t/Location.t $(builddir)/src/perl/t/
+       @test -e $(builddir)/src/perl/typemap || ln -s --relative $(srcdir)/src/perl/typemap $(builddir)/src/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)
+
+.PHONY: check-perl
+check-perl: testdata.db
+       cd $(builddir)/src/perl && $(MAKE) test database="../../$<"
+
+.PHONY: install-perl
+install-perl:
+       cd $(builddir)/src/perl && $(MAKE) install
+
+.PHONY: clean-perl
+clean-perl:
+       cd $(builddir)/src/perl && $(MAKE) distclean
+
+.PHONY: uninstall-perl
+uninstall-perl:
+       rm -rvf \
+               $(DESTDIR)/$(prefix)/lib/*/perl/*/Location.pm \
+               $(DESTDIR)/$(prefix)/lib/*/perl/*/auto/Location \
+               $(DESTDIR)/$(prefix)/lib/*/perl/*/perllocal.pod \
+               $(DESTDIR)/$(prefix)/man/man3/Location.3pm
+
+bin_SCRIPTS = \
+       src/python/location-query
+
+EXTRA_DIST += \
+       src/python/location-query.in
+
+CLEANFILES += \
+       src/python/location-query
+
 TESTS_CFLAGS = \
        $(AM_CFLAGS) \
        -DLIBLOC_PRIVATE
@@ -124,7 +199,11 @@ TESTS = \
        src/test-network
 
 CLEANFILES += \
-       test.db
+       test.db \
+       testdata.db
+
+testdata.db: examples/python/create-database.py
+       PYTHONPATH=$(abs_builddir)/src/python/.libs $(PYTHON) $< $@
 
 check_PROGRAMS = \
        src/test-libloc \