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)"\" \
-e 's,@exec_prefix\@,$(exec_prefix),g' \
-e 's,@libdir\@,$(libdir),g' \
-e 's,@includedir\@,$(includedir),g' \
+ -e 's,@databasedir\@,$(databasedir),g' \
< $< > $@ || rm $@
-pythondir = $(pyexecdir)
+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
+
pkginclude_HEADERS = \
- src/loc/format.h \
src/loc/libloc.h \
+ src/loc/as.h \
+ src/loc/database.h \
+ src/loc/format.h \
+ src/loc/network.h \
+ src/loc/private.h \
+ src/loc/stringpool.h \
src/loc/writer.h
lib_LTLIBRARIES = \
src/libloc.la
-src_libloc_la_SOURCES =\
- src/libloc-private.h \
+src_libloc_la_SOURCES = \
src/libloc.c \
src/as.c \
- src/as.h \
src/database.c \
- src/database.h \
src/network.c \
src/stringpool.c \
- src/stringpool.h \
src/writer.c
EXTRA_DIST += src/libloc.sym
src_libloc_la_CFLAGS = \
$(AM_CFLAGS) \
+ -DLIBLOC_PRIVATE \
-fvisibility=hidden
src_libloc_la_LDFLAGS = \
CLEANFILES += \
src/libloc.pc
-pkgpyexec_LTLIBRARIES = \
+pyexec_LTLIBRARIES = \
src/python/location.la
src_python_location_la_SOURCES = \
- src/python/locationmodule.c
+ src/python/locationmodule.c \
+ src/python/locationmodule.h \
+ src/python/as.c \
+ src/python/as.h \
+ src/python/database.c \
+ src/python/database.h \
+ src/python/network.c \
+ src/python/network.h \
+ src/python/writer.c \
+ src/python/writer.h
src_python_location_la_CFLAGS = \
$(AM_CFLAGS) \
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:
+ cd $(builddir)/src/perl && $(MAKE) test
+
+.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
+
TESTS = \
src/test-libloc \
src/test-stringpool \
src/test-as \
src/test-network
+CLEANFILES += \
+ test.db
+
check_PROGRAMS = \
src/test-libloc \
src/test-stringpool \
src_test_libloc_SOURCES = \
src/test-libloc.c
+src_test_libloc_CFLAGS = \
+ $(TESTS_CFLAGS)
+
src_test_libloc_LDADD = \
src/libloc.la
src_test_as_SOURCES = \
src/test-as.c
+src_test_as_CFLAGS = \
+ $(TESTS_CFLAGS)
+
src_test_as_LDADD = \
src/libloc.la
src_test_network_SOURCES = \
src/test-network.c
+src_test_network_CFLAGS = \
+ $(TESTS_CFLAGS)
+
src_test_network_LDADD = \
src/libloc.la
src_test_stringpool_SOURCES = \
src/test-stringpool.c
+src_test_stringpool_CFLAGS = \
+ $(TESTS_CFLAGS)
+
src_test_stringpool_LDADD = \
src/libloc.la
src_test_database_SOURCES = \
src/test-database.c
+src_test_database_CFLAGS = \
+ $(TESTS_CFLAGS)
+
src_test_database_LDADD = \
src/libloc.la