Daniel Veillard | 5e5c2d0 | 2002-02-09 18:03:01 +0000 | [diff] [blame] | 1 | # Makefile for libxml2 python library |
| 2 | AUTOMAKE_OPTIONS = 1.4 foreign |
| 3 | |
Daniel Veillard | 253aa2c | 2002-02-02 09:17:16 +0000 | [diff] [blame] | 4 | SUBDIRS= . tests |
| 5 | |
Daniel Veillard | 5e5c2d0 | 2002-02-09 18:03:01 +0000 | [diff] [blame] | 6 | INCLUDES = \ |
| 7 | -I/usr/include/python$(PYTHON_VERSION) \ |
| 8 | -I$(PYTHON_INCLUDES) \ |
| 9 | -I$(top_srcdir)/include |
Daniel Veillard | 253aa2c | 2002-02-02 09:17:16 +0000 | [diff] [blame] | 10 | |
Daniel Veillard | 5e5c2d0 | 2002-02-09 18:03:01 +0000 | [diff] [blame] | 11 | DOCS_DIR = $(prefix)/share/doc/libxml2-python-$(LIBXML_VERSION) |
Daniel Veillard | 253aa2c | 2002-02-02 09:17:16 +0000 | [diff] [blame] | 12 | DOCS = TODO libxml2class.txt |
Daniel Veillard | c3e3944 | 2002-02-01 09:29:41 +0000 | [diff] [blame] | 13 | |
Daniel Veillard | 4cf998a | 2002-02-02 10:42:43 +0000 | [diff] [blame] | 14 | EXTRA_DIST = \ |
| 15 | libxml.c \ |
Daniel Veillard | 3ce5257 | 2002-02-03 15:08:05 +0000 | [diff] [blame] | 16 | types.c \ |
Daniel Veillard | a6d2e9e | 2002-03-09 10:22:50 +0000 | [diff] [blame] | 17 | setup.py \ |
| 18 | setup.py.in \ |
Daniel Veillard | 4cf998a | 2002-02-02 10:42:43 +0000 | [diff] [blame] | 19 | generator.py \ |
| 20 | libxml_wrap.h \ |
| 21 | libxml.py \ |
| 22 | libxml2-python-api.xml \ |
Daniel Veillard | 253aa2c | 2002-02-02 09:17:16 +0000 | [diff] [blame] | 23 | $(DOCS) |
Daniel Veillard | c3e3944 | 2002-02-01 09:29:41 +0000 | [diff] [blame] | 24 | |
Daniel Veillard | f1d0e6b | 2002-01-31 23:42:44 +0000 | [diff] [blame] | 25 | if WITH_PYTHON |
Daniel Veillard | 5e5c2d0 | 2002-02-09 18:03:01 +0000 | [diff] [blame] | 26 | mylibs = \ |
| 27 | $(top_builddir)/libxml2.la |
| 28 | |
| 29 | all: libxml2mod.so libxml2.py |
| 30 | |
Daniel Veillard | 5e5c2d0 | 2002-02-09 18:03:01 +0000 | [diff] [blame] | 31 | pythondir = $(prefix)/lib/python${PYTHON_VERSION}/site-packages |
| 32 | python_PROGRAMS = libxml2mod.so |
| 33 | |
| 34 | libxml2mod_so_SOURCES = |
| 35 | libxml2mod_so_LDFLAGS = $(mylibs) $(LIBS) -shared -Wl,-soname,libxml2mod.so |
| 36 | |
| 37 | noinst_LTLIBRARIES = libxmlmodule.la |
| 38 | libxmlmodule_la_SOURCES = libxml.c types.c libxml2-py.c |
| 39 | |
Daniel Veillard | bb7ddb3 | 2002-02-17 21:26:33 +0000 | [diff] [blame] | 40 | libxml2mod.so: $(libxmlmodule_la_OBJECTS) $(mylibs) |
Daniel Veillard | 5e5c2d0 | 2002-02-09 18:03:01 +0000 | [diff] [blame] | 41 | $(LINK) -o $@ $(libxmlmodule_la_OBJECTS) $(libxml2mod_so_LDFLAGS) |
| 42 | |
Daniel Veillard | 96c9af7 | 2002-02-01 00:06:44 +0000 | [diff] [blame] | 43 | |
Daniel Veillard | 253aa2c | 2002-02-02 09:17:16 +0000 | [diff] [blame] | 44 | libxml2.py: $(srcdir)/libxml.py libxml2class.py |
| 45 | cat $(srcdir)/libxml.py libxml2class.py > libxml2.py |
Daniel Veillard | f1d0e6b | 2002-01-31 23:42:44 +0000 | [diff] [blame] | 46 | |
Daniel Veillard | 7a96efc | 2002-02-05 16:34:33 +0000 | [diff] [blame] | 47 | install-data-local: |
| 48 | $(mkinstalldirs) $(DESTDIR)$(PYTHON_SITE_PACKAGES) |
| 49 | -@INSTALL@ -m 0644 libxml2.py $(DESTDIR)$(PYTHON_SITE_PACKAGES) |
Daniel Veillard | 7a96efc | 2002-02-05 16:34:33 +0000 | [diff] [blame] | 50 | $(mkinstalldirs) $(DESTDIR)$(DOCS_DIR) |
| 51 | -@(for doc in $(DOCS) ; \ |
| 52 | do @INSTALL@ -m 0644 $$doc $(DESTDIR)$(DOCS_DIR) ; done) |
Daniel Veillard | f1d0e6b | 2002-01-31 23:42:44 +0000 | [diff] [blame] | 53 | |
Daniel Veillard | f1d0e6b | 2002-01-31 23:42:44 +0000 | [diff] [blame] | 54 | GENERATE = generator.py |
Daniel Veillard | 9589d45 | 2002-02-02 10:28:17 +0000 | [diff] [blame] | 55 | API_DESC = $(top_srcdir)/doc/libxml2-api.xml $(srcdir)/libxml2-python-api.xml |
Daniel Veillard | f1d0e6b | 2002-01-31 23:42:44 +0000 | [diff] [blame] | 56 | GENERATED= $(srcdir)/libxml2class.py \ |
| 57 | $(srcdir)/libxml2-export.c \ |
| 58 | $(srcdir)/libxml2-py.c \ |
| 59 | $(srcdir)/libxml2-py.h |
| 60 | |
| 61 | $(GENERATED): $(srcdir)/$(GENERATE) $(API_DESC) |
| 62 | cd $(srcdir) && $(PYTHON) $(GENERATE) |
Daniel Veillard | 1c18e30 | 2002-02-09 22:16:40 +0000 | [diff] [blame] | 63 | |
| 64 | $(libxmlmodule_la_OBJECTS): $(GENERATED) |
| 65 | |
Daniel Veillard | 7db3871 | 2002-02-07 16:39:11 +0000 | [diff] [blame] | 66 | else |
| 67 | all: |
| 68 | endif |
Daniel Veillard | f1d0e6b | 2002-01-31 23:42:44 +0000 | [diff] [blame] | 69 | |
Daniel Veillard | 3ce5257 | 2002-02-03 15:08:05 +0000 | [diff] [blame] | 70 | tests: all |
Daniel Veillard | cfb0546 | 2002-02-02 23:18:22 +0000 | [diff] [blame] | 71 | cd tests && $(MAKE) tests |
| 72 | |
Daniel Veillard | f1d0e6b | 2002-01-31 23:42:44 +0000 | [diff] [blame] | 73 | clean: |
Daniel Veillard | a7340c8 | 2002-02-01 17:56:45 +0000 | [diff] [blame] | 74 | rm -f $(GENERATED) *.o _libxml.so *.pyc libxml2.py |
Daniel Veillard | 253aa2c | 2002-02-02 09:17:16 +0000 | [diff] [blame] | 75 | |