blob: 6078702dd158e025361264e385f176d4b04dac3c [file] [log] [blame]
Daniel Veillard5e5c2d02002-02-09 18:03:01 +00001# Makefile for libxml2 python library
2AUTOMAKE_OPTIONS = 1.4 foreign
3
Daniel Veillard253aa2c2002-02-02 09:17:16 +00004SUBDIRS= . tests
5
Daniel Veillard5e5c2d02002-02-09 18:03:01 +00006INCLUDES = \
7 -I/usr/include/python$(PYTHON_VERSION) \
8 -I$(PYTHON_INCLUDES) \
9 -I$(top_srcdir)/include
Daniel Veillard253aa2c2002-02-02 09:17:16 +000010
Daniel Veillard5e5c2d02002-02-09 18:03:01 +000011DOCS_DIR = $(prefix)/share/doc/libxml2-python-$(LIBXML_VERSION)
Daniel Veillard253aa2c2002-02-02 09:17:16 +000012DOCS = TODO libxml2class.txt
Daniel Veillardc3e39442002-02-01 09:29:41 +000013
Daniel Veillard4cf998a2002-02-02 10:42:43 +000014EXTRA_DIST = \
15 libxml.c \
Daniel Veillard3ce52572002-02-03 15:08:05 +000016 types.c \
Daniel Veillarda6d2e9e2002-03-09 10:22:50 +000017 setup.py \
18 setup.py.in \
Daniel Veillard4cf998a2002-02-02 10:42:43 +000019 generator.py \
20 libxml_wrap.h \
21 libxml.py \
22 libxml2-python-api.xml \
Daniel Veillard253aa2c2002-02-02 09:17:16 +000023 $(DOCS)
Daniel Veillardc3e39442002-02-01 09:29:41 +000024
Daniel Veillardf1d0e6b2002-01-31 23:42:44 +000025if WITH_PYTHON
Daniel Veillard5e5c2d02002-02-09 18:03:01 +000026mylibs = \
27 $(top_builddir)/libxml2.la
28
29all: libxml2mod.so libxml2.py
30
Daniel Veillard5e5c2d02002-02-09 18:03:01 +000031pythondir = $(prefix)/lib/python${PYTHON_VERSION}/site-packages
32python_PROGRAMS = libxml2mod.so
33
34libxml2mod_so_SOURCES =
35libxml2mod_so_LDFLAGS = $(mylibs) $(LIBS) -shared -Wl,-soname,libxml2mod.so
36
37noinst_LTLIBRARIES = libxmlmodule.la
38libxmlmodule_la_SOURCES = libxml.c types.c libxml2-py.c
39
Daniel Veillardbb7ddb32002-02-17 21:26:33 +000040libxml2mod.so: $(libxmlmodule_la_OBJECTS) $(mylibs)
Daniel Veillard5e5c2d02002-02-09 18:03:01 +000041 $(LINK) -o $@ $(libxmlmodule_la_OBJECTS) $(libxml2mod_so_LDFLAGS)
42
Daniel Veillard96c9af72002-02-01 00:06:44 +000043
Daniel Veillard253aa2c2002-02-02 09:17:16 +000044libxml2.py: $(srcdir)/libxml.py libxml2class.py
45 cat $(srcdir)/libxml.py libxml2class.py > libxml2.py
Daniel Veillardf1d0e6b2002-01-31 23:42:44 +000046
Daniel Veillard7a96efc2002-02-05 16:34:33 +000047install-data-local:
48 $(mkinstalldirs) $(DESTDIR)$(PYTHON_SITE_PACKAGES)
49 -@INSTALL@ -m 0644 libxml2.py $(DESTDIR)$(PYTHON_SITE_PACKAGES)
Daniel Veillard7a96efc2002-02-05 16:34:33 +000050 $(mkinstalldirs) $(DESTDIR)$(DOCS_DIR)
51 -@(for doc in $(DOCS) ; \
52 do @INSTALL@ -m 0644 $$doc $(DESTDIR)$(DOCS_DIR) ; done)
Daniel Veillardf1d0e6b2002-01-31 23:42:44 +000053
Daniel Veillardf1d0e6b2002-01-31 23:42:44 +000054GENERATE = generator.py
Daniel Veillard9589d452002-02-02 10:28:17 +000055API_DESC = $(top_srcdir)/doc/libxml2-api.xml $(srcdir)/libxml2-python-api.xml
Daniel Veillardf1d0e6b2002-01-31 23:42:44 +000056GENERATED= $(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 Veillard1c18e302002-02-09 22:16:40 +000063
64$(libxmlmodule_la_OBJECTS): $(GENERATED)
65
Daniel Veillard7db38712002-02-07 16:39:11 +000066else
67all:
68endif
Daniel Veillardf1d0e6b2002-01-31 23:42:44 +000069
Daniel Veillard3ce52572002-02-03 15:08:05 +000070tests: all
Daniel Veillardcfb05462002-02-02 23:18:22 +000071 cd tests && $(MAKE) tests
72
Daniel Veillardf1d0e6b2002-01-31 23:42:44 +000073clean:
Daniel Veillarda7340c82002-02-01 17:56:45 +000074 rm -f $(GENERATED) *.o _libxml.so *.pyc libxml2.py
Daniel Veillard253aa2c2002-02-02 09:17:16 +000075