summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2016-01-20 10:48:19 +0000
committerSimon McVittie <smcv@debian.org>2016-01-20 10:48:19 +0000
commit9567e3eab6672705f7259970e8606f4e7adaf991 (patch)
tree9a21dcebce1553848db9195ce0707b88850850ba /Makefile.am
parentb95a7f0f596e3e3d000c3756bb520d28b127d5e1 (diff)
Use non-recursive make for everything except tests
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am137
1 files changed, 124 insertions, 13 deletions
diff --git a/Makefile.am b/Makefile.am
index ebc2e43..7b273ce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,17 +3,126 @@ abs_top_builddir = @abs_top_builddir@
ACLOCAL_AMFLAGS = -I m4
-# the api, doc, include subdirs don't need their own Makefile.am
-# the dbus subdir is handled with non-recursive make because of #12741
-SUBDIRS = _dbus_bindings _dbus_glib_bindings examples m4 test tools .
+SUBDIRS = test
CLEANFILES =
EXTRA_DIST = \
dbus-python.pc.in \
AUTHORS \
COPYING \
- ChangeLog
-# miss out the gconf examples for now - they don't work
+ ChangeLog \
+ examples/example-async-client.py \
+ examples/example-client.py \
+ examples/example-service.py \
+ examples/example-signal-emitter.py \
+ examples/example-signal-recipient.py \
+ examples/gconf-proxy-client.py \
+ examples/gconf-proxy-service2.py \
+ examples/list-system-services.py \
+ examples/unix-fd-client.py \
+ examples/unix-fd-service.py \
+ m4/am-check-pymod.m4 \
+ m4/am-check-python-headers.m4 \
+ m4/dbus-py-add-rst2htmlflag.m4 \
+ tools/check-coding-style.mk \
+ tools/check-c-style.sh \
+ tools/check-py-style.sh \
+ tools/check-whitespace.sh
+ $(NULL)
+
+# === C code ===
+
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/include \
+ $(DBUS_CFLAGS) \
+ $(DBUS_GLIB_CFLAGS) \
+ $(PYTHON_INCLUDES) \
+ $(NULL)
+AM_CFLAGS = \
+ $(WARN_CFLAGS) \
+ $(NULL)
+AM_LDFLAGS = \
+ $(WARN_LDFLAGS) \
+ $(NULL)
+
+pymod_ldflags = \
+ -module \
+ -avoid-version \
+ $(NULL)
+pymod_libadd = \
+ $(NULL)
+
+if WINDOWS
+# Win32 DLLs can't have undefined symbols (so this needs explicit linking
+# against the Python DLL), and Python expects extensions to be *.pyd
+# instead of *.dll
+pymod_ldflags += \
+ -no-undefined \
+ -shrext ".pyd" \
+ $(NULL)
+pymod_libadd += \
+ $(PYTHON_LIBS) \
+ $(NULL)
+endif
+
+pyexec_LTLIBRARIES = \
+ _dbus_bindings.la \
+ _dbus_glib_bindings.la \
+ $(NULL)
+
+_dbus_bindings_la_LDFLAGS = \
+ $(pymod_ldflags) \
+ -export-symbols-regex \(PyInit__\|init_\)dbus_bindings \
+ $(AM_LDFLAGS) \
+ $(NULL)
+_dbus_bindings_la_LIBADD = \
+ $(pymod_libadd) \
+ $(DBUS_LIBS) \
+ $(NULL)
+_dbus_bindings_la_SOURCES = \
+ _dbus_bindings/abstract.c \
+ _dbus_bindings/bus.c \
+ _dbus_bindings/bytes.c \
+ _dbus_bindings/compat-internal.h \
+ _dbus_bindings/conn.c \
+ _dbus_bindings/conn-internal.h \
+ _dbus_bindings/conn-methods.c \
+ _dbus_bindings/containers.c \
+ _dbus_bindings/dbus_bindings-internal.h \
+ _dbus_bindings/debug.c \
+ _dbus_bindings/exceptions.c \
+ _dbus_bindings/float.c \
+ _dbus_bindings/generic.c \
+ _dbus_bindings/int.c \
+ _dbus_bindings/unixfd.c \
+ _dbus_bindings/libdbusconn.c \
+ _dbus_bindings/mainloop.c \
+ _dbus_bindings/message-append.c \
+ _dbus_bindings/message.c \
+ _dbus_bindings/message-get-args.c \
+ _dbus_bindings/message-internal.h \
+ _dbus_bindings/module.c \
+ _dbus_bindings/pending-call.c \
+ _dbus_bindings/server.c \
+ _dbus_bindings/signature.c \
+ _dbus_bindings/string.c \
+ _dbus_bindings/types-internal.h \
+ _dbus_bindings/validation.c \
+ $(NULL)
+
+_dbus_glib_bindings_la_LDFLAGS = \
+ $(pymod_ldflags) \
+ -export-symbols-regex \(PyInit__\|init_\)dbus_glib_bindings \
+ $(AM_LDFLAGS) \
+ $(NULL)
+_dbus_glib_bindings_la_LIBADD = \
+ $(pymod_libadd) \
+ $(DBUS_LIBS) \
+ $(DBUS_GLIB_LIBS) \
+ $(NULL)
+_dbus_glib_bindings_la_SOURCES = \
+ _dbus_glib_bindings/module.c \
+ $(NULL)
# === dbus package ===
@@ -123,16 +232,11 @@ all: api/index.html
clean-local:
rm -rf api
-_dbus_bindings/_dbus_bindings.la:
- $(MAKE) -C _dbus_bindings
-_dbus_glib_bindings/_dbus_glib_bindings.la:
- $(MAKE) -C _dbus_glib_bindings
-
-APIDOC_PYTHONPATH = $(abs_top_srcdir):$(abs_top_builddir)/_dbus_bindings/.libs:$(abs_top_builddir)/_dbus_glib_bindings/.libs
+APIDOC_PYTHONPATH = $(abs_top_srcdir):$(abs_top_builddir)/.libs
api api/index.html: $(nobase_python_PYTHON) \
- _dbus_bindings/_dbus_bindings.la \
- _dbus_glib_bindings/_dbus_glib_bindings.la
+ _dbus_bindings.la \
+ _dbus_glib_bindings.la
rm -rf api
mkdir api
cd $(abs_top_srcdir) && \
@@ -154,6 +258,13 @@ _maintainer-update-apidocs:
@echo "*** alpha (or newer) and configure with --enable-api-docs"
endif
+check_c_sources = \
+ $(_dbus_bindings_la_SOURCES) \
+ $(_dbus_glib_bindings_la_SOURCES) \
+ $(NULL)
+
+include $(top_srcdir)/tools/check-coding-style.mk
+
.PHONY: cross-test-compile cross-test-server cross-test-client \
always-rebuild maintainer-update-website \
_maintainer-update-apidocs _maintainer-update-htmldocs \