summaryrefslogtreecommitdiff
path: root/src/python/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/python/Makefile.am')
-rw-r--r--src/python/Makefile.am67
1 files changed, 37 insertions, 30 deletions
diff --git a/src/python/Makefile.am b/src/python/Makefile.am
index e221fa9..077e03d 100644
--- a/src/python/Makefile.am
+++ b/src/python/Makefile.am
@@ -1,36 +1,12 @@
+# See xapian-bindings for an example of integrating autotools, swig and python
-lib_LTLIBRARIES = libLibicalWrap.la
+BUILT_SOURCES = _LibicalWrap.c
-libLibicalWrap_la_SOURCES = LibicalWrap.c
+pyexec_LTLIBRARIES = _LibicalWrap.la
-INCLUDES = \
- -I$(top_builddir) \
- -I$(top_srcdir)/src \
- -I$(top_builddir)/src \
- -I$(top_srcdir)/src/libical \
- -I$(top_builddir)/src/libical \
- -I$(top_srcdir)/src/libicalss \
- $(PY_CFLAGS)
-
-LDADD = ../libical/libical.la ../libicalss/libicalss.la
-
-all: LibicalWrap.so
-
-LibicalWrap.c: LibicalWrap.i
- swig -python -o LibicalWrap.c LibicalWrap.i
-
-# This part should be done with libtool, but I don't know how to do
-# it. Libtool needs to generate a shared library in this directory
-# regardless of the value of AM_DISABLE_SHARED
-LibicalWrap.so: LibicalWrap.c
- ld -shared -o LibicalWrap.so LibicalWrap.o ../libical/.libs/libical.a ../libicalss/.libs/libicalss.a
-
-CLEANFILES = LibicalWrap.c LibicalWrap_wrap.doc Libical.pyc LibicalWrap.so
-
-EXTRA_DIST = \
+common_FILES = \
+__init__.py \
Libical.py \
-LibicalWrap.i \
-python-binding.txt \
test.py \
Attendee.py \
Collection.py \
@@ -42,7 +18,38 @@ Gauge.py \
Period.py \
Property.py \
Store.py \
-Time.py \
+Time.py
+
+# Install as python source so the code gets byte-compiled at install time.
+pkgpython_PYTHON = \
+$(common_FILES) \
+LibicalWrap.py
+
+# To allow non-standard library names (ie those not prefixed by "lib") see:
+# http://sources.redhat.com/automake/automake.html#Libtool-Modules
+_LibicalWrap_la_SOURCES = _LibicalWrap.c
+_LibicalWrap_la_LDFLAGS = -avoid-version -module -lc
+_LibicalWrap_la_LIBADD = $(top_builddir)/src/libical/libical.la \
+ $(top_builddir)/src/libicalss/libicalss.la
+
+AM_CPPFLAGS = \
+ -I$(top_builddir) \
+ -I$(top_srcdir)/src \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/src/libical \
+ -I$(top_builddir)/src/libical \
+ -I$(top_srcdir)/src/libicalss \
+ $(PY_CFLAGS)
+
+_LibicalWrap.c: $(srcdir)/LibicalWrap.i $(srcdir)/*.i $(top_builddir)/src/libical/ical.h $(top_builddir)/src/libicalss/icalss.h
+ swig -python -Wall $(AM_CPPFLAGS) -o _LibicalWrap.c $(srcdir)/LibicalWrap.i
+
+CLEANFILES = _LibicalWrap.c _LibicalWrap_wrap.doc Libical.pyc LibicalWrap.py _LibicalWrap.so
+
+EXTRA_DIST = \
+$(common_FILES) \
+LibicalWrap.i \
+python-binding.txt \
ChangeLog