[libxml2] Bundles all generated files for python into the distribution



commit d10a72ce8c50344edfc8428692680a038b51480c
Author: Daniel Richard G <oss teragram com>
Date:   Tue Aug 14 12:50:25 2012 +0800

    Bundles all generated files for python into the distribution
    
    So end users building the Python module don't need to
    regenerate any source files. some clean-up too.

 python/Makefile.am |   61 ++++++++++++++++++++-------------------------------
 1 files changed, 24 insertions(+), 37 deletions(-)
---
diff --git a/python/Makefile.am b/python/Makefile.am
index f34aa98..4a8b5d5 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -1,67 +1,54 @@
 # Makefile for libxml2 python library
 AUTOMAKE_OPTIONS = 1.4 foreign
 
-SUBDIRS= . tests
-
-INCLUDES = \
-	-I$(PYTHON_INCLUDES) \
-	-I$(top_srcdir)/include	\
-	-I$(top_builddir)/include \
-	-I$(top_builddir)/$(subdir)
+SUBDIRS = . tests
 
 docsdir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
-# libxml2class.txt is generated
 dist_docs_DATA = TODO
 
 EXTRA_DIST = 			\
 	setup.py		\
-	setup.py.in		\
 	generator.py		\
-	libxml_wrap.h		\
 	libxml.py		\
-	libxml2-python-api.xml
-
-libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
+	libxml2-export.c	\
+	libxml2-python-api.xml	\
+	libxml2class.py		\
+	libxml2class.txt
 
 if WITH_PYTHON
-mylibs = \
-	$(top_builddir)/libxml2.la
+AM_CPPFLAGS = \
+	-I$(top_builddir)/include \
+	-I$(top_srcdir)/include	\
+	-I$(PYTHON_INCLUDES)
 
 python_LTLIBRARIES = libxml2mod.la
 
-libxml2mod_la_SOURCES = $(srcdir)/libxml.c $(srcdir)/types.c
-nodist_libxml2mod_la_SOURCES = libxml2-py.c
-libxml2mod_la_LIBADD = $(mylibs) $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS) -lpython$(PYTHON_VERSION)
+libxml2mod_la_SOURCES = libxml.c libxml_wrap.h libxml2-py.h libxml2-py.c types.c
+libxml2mod_la_LIBADD  = $(top_builddir)/libxml2.la $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS) -lpython$(PYTHON_VERSION)
+libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
 
-$(srcdir)/libxml.c: libxml2-py.h # to generate before to compile
+BUILT_SOURCES = libxml2-export.c libxml2-py.h libxml2-py.c
 
+# libxml.c #includes libxml2-export.c
+libxml.$(OBJEXT): libxml2-export.c
 
 libxml2.py: $(srcdir)/libxml.py libxml2class.py
-	cat $(srcdir)/libxml.py libxml2class.py > $@
-
-python_DATA = \
-	libxml2.py
+	cat $(srcdir)/libxml.py `test -f libxml2class.py || echo $(srcdir)/`libxml2class.py > $@
 
 dist_python_DATA = \
-	drv_libxml2.py
+	drv_libxml2.py \
+	libxml2.py
 	
-GENERATE = generator.py
-API_DESC = $(top_srcdir)/doc/libxml2-api.xml $(srcdir)/libxml2-python-api.xml
-GENERATED= libxml2class.py \
-           libxml2-export.c \
-           libxml2class.txt \
-	   libxml2-py.c \
-	   libxml2-py.h
+CLEANFILES = *.pyc
 
-CLEANFILES = $(GENERATED) gen_prog libxml2.py *.pyc
+MAINTAINERCLEANFILES = libxml2.py libxml2class.*
 
-$(GENERATED): gen_prog
+API_DESC = $(top_srcdir)/doc/libxml2-api.xml $(srcdir)/libxml2-python-api.xml
+GENERATED = libxml2class.py libxml2class.txt $(BUILT_SOURCES)
 
-gen_prog: $(srcdir)/$(GENERATE) $(API_DESC)
-	$(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
-	touch gen_prog
+$(GENERATED): $(srcdir)/generator.py $(API_DESC)
+	$(PYTHON) $(srcdir)/generator.py $(srcdir)
 endif
 
 tests test: all
 	cd tests && $(MAKE) tests
-



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]