summaryrefslogtreecommitdiff
path: root/GNUmakefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'GNUmakefile.in')
-rw-r--r--GNUmakefile.in66
1 files changed, 46 insertions, 20 deletions
diff --git a/GNUmakefile.in b/GNUmakefile.in
index d2cd687..ff0c59e 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -11,7 +11,7 @@ VERSION := @VERSION@
STATIC_EXAMPLES := pyhello.py testtk.py
EXAMPLES := $(addprefix docs/examples/, env.sh)
-DOCS := $(addprefix docs/html/, index.html ivycpy_wrap.html)
+DOCS := $(addprefix docs/html/, index.html) # ivycpy_wrap.html
DEBIANSTUFF := debian/copyright
DEFINES := @DEFINES@
@@ -52,6 +52,8 @@ INSTALL_PROGRAM := @INSTALL_PROGRAM@
INSTALL_SCRIPT := @INSTALL_SCRIPT@
INSTALL_DATA := @INSTALL_DATA@
+PYTHON_COMPILER := @PYTHON_COMPILER@
+
UMASK ?= 022
INSTALL_DIR := $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -81,34 +83,48 @@ CFLAGS = @CFLAGS@ $(CC_OPTIONS)
LDFLAGS = @LDFLAGS@ $(LD_OPTIONS)
LDLIBS = $(LIBRARIES) @LIBS@
-default: ivycpy.so $(DOCS) $(EXAMPLES) $(DEBIANSTUFF)
+default: _ivycpy.so ivycpy.pyc $(DOCS) $(EXAMPLES) $(DEBIANSTUFF)
-ivycpy.so: ivycpy_wrap_neat.o @PYTHON_LIBDIR@/python@PYTHON_VERSION@/lib-dynload/_tkinter.so
- $(LINK.o) $(CC_SHARED_OPTIONS) $^ -o $@ -livy $(LDLIBS) -lc
+_ivycpy.so: ivycpy_wrap.o @PYTHON_LIBDIR@/python@PYTHON_VERSION@/lib-dynload/_tkinter.so
+ $(LINK.o) $(CC_SHARED_OPTIONS) $^ -o $@ -livy $(LDLIBS) -lc
-ivycpy_wrap_neat.o: CFLAGS += $(CC_PIC_OPTIONS)
-ivycpy_wrap_neat.o: ivycpy_wrap_neat.c
+#ivycpy_wrap_neat.o: CFLAGS += $(CC_PIC_OPTIONS)
+#ivycpy_wrap_neat.o: ivycpy_wrap_neat.c
+# ivycpy_wrap_neat.c is not generated anymore ;
# true or neat wrapper with proper name for function
-ivycpy_wrap_neat.c: ivycpy_wrap.c
- >$@ sed -f ivycpy_namer.sed $<
+# ivycpy_wrap_neat.c: ivycpy_wrap.c
+# >$@ sed -f ivycpy_namer.sed $<
+
+ivycpy_wrap.o: CFLAGS += $(CC_PIC_OPTIONS)
+ivycpy_wrap.o: ivycpy_wrap.c
# wrapper code generated by swig
+# original .py is moved toward _swig.py
ivycpy_wrap.c: ivycpy.i
- $(SWIG) -python -dhtml $<
+ $(SWIG) -python $< # -dhtml
+ mv ivycpy.py ivycpy_swig.py
+
+# then _swig.py is patched to suited names in ivycpy.py
+
+ivycpy.py: ivycpy.i
+ >$@ sed -f ivycpy_namer.sed ivycpy_swig.py
# testing include and defines
ivycpy_test.e: ivycpy_test.c
- >|$@ $(CC) -E $(CPPFLAGS) $<
+ >|$@ $(CC) -E $(CPPFLAGS) $<
+
+# regarder comment générer les fichiers bytecompilé
+# avec definiton générique de PYTHON voir MV_PYTHON
# documentation
-docs/html/ivycpy_wrap.html: ivycpy_wrap.html
- >|$@ sed -e "s/<B>pyIvy/<B>Ivy/g" $<
+#docs/html/ivycpy_wrap.html: ivycpy_wrap.html
+# >|$@ sed -e "s/<B>pyIvy/<B>Ivy/g" $<
docs/html/index.html: docs/html/index_tpl.html
- >|$@ sed -e "s/_VERSION_/$(VERSION)/g" $<
+ >|$@ sed -e "s/_VERSION_/$(VERSION)/g" $<
VERSION:
printf '# generated dynamically do not edit; change VERSION in configure.in instead\n' >|$@
@@ -116,14 +132,21 @@ VERSION:
# misc
docs/examples/env.sh: env_tpl.sh
- >|$@ sed -e "s|_IVYCPYPATH_|$(pythondir)|g" $<
+ >|$@ sed -e "s|_IVYCPYPATH_|$(pythondir)|g" $<
# debian
debian/copyright: docs/copyright
$(INSTALL_DATA) $< debian
-install:: ivycpy.so
+# building compiled version of Python modules
+# this step builds also the examples scripts
+
+ivycpy.pyc: ivycpy.py
+ python $(PYTHON_COMPILER) -l .
+ python $(PYTHON_COMPILER) docs/examples
+
+install:: _ivycpy.so ivycpy.py ivycpy.pyc
$(INSTALL_DIR) $(pythondir)
$(INSTALL_DATA) $< $(pythondir)
@@ -132,22 +155,25 @@ install:: $(DOCS) $(EXAMPLES)
$(INSTALL_DIR) $(PKGDOCDIR)
# cp -rp docs/* $(PKGDOCDIR)
cd docs && \
- find . -type d ! \( -path '*CVS*' -o -path '.' \) -exec install -d $(PKGDOCDIR)/{} ";" && \
- find . -type f ! \( -path '*.cvsignore' -o -path '*CVS*' \) -exec cp -p {} $(PKGDOCDIR)/{} ";"
+ find . -type d ! \( -name 'CVS*' -o -name '.' \) -exec install -d $(PKGDOCDIR)/{} ";" && \
+ find . -type f ! -name '.cvsignore' -exec cp -p {} $(PKGDOCDIR)/{} ";"
.PHONY: default install VERSION
clean:
- $(RM) core a.out *.o
- $(RM) ivycpy.so
+ $(RM) core a.out *.o
+ $(RM) _ivycpy.so ivycpy*.py
+ find . -name '*.pyc' -exec $(RM) {} ";"
realclean: clean
$(RM) ivycpy_wrap*.c
- $(RM) $(EXAMPLES)
+ $(RM) $(EXAMPLES) $(DOCS)
distclean: realclean
$(RM) ivycpy_wrap*.*
$(RM) GNUmakefile config.log config.status config.cache
+ $(RM) *.debhelper
+ $(RM) -r debian/tmp
.PHONY: clean realclean distclean