## -*- makefile -*- ifneq (,) This makefile requires GNU Make. endif VPATH := @srcdir@ PACKAGE := @PACKAGE@ VERSION := @VERSION@ STATIC_EXAMPLES := pyhello.py testtk.py EXAMPLES := $(addprefix docs/examples/, env.sh) DOCS := $(addprefix docs/html/, index.html) # ivycpy_wrap.html DEBIANSTUFF := debian/copyright DEFINES := @DEFINES@ INCLUDES := @INCLUDES@ LIBRARIES := @LIBRARIES@ prefix := @prefix@ exec_prefix := @exec_prefix@ datadir := @datadir@ includedir := @includedir@ libdir := @libdir@ bindir := @bindir@ mandir := @mandir@ infodir := @infodir@ pyexecdir := @pyexecdir@ pythondir := @pythondir@ pmode := @pmode@ # package mode debian or default # PKGEXAMPLESDIR := $(datadir)/$(PACKAGE)-$(VERSION)/examples ifeq "$(pmode)" "debian" PKGDOCDIR := $(datadir)/doc/$(PACKAGE)-$(VERSION) else PKGDOCDIR := $(datadir)/$(PACKAGE)-$(VERSION)/docs endif MKDIR := mkdir -p RMDIR := rmdir -p LN_S := @LN_S@ -f ARFLAGS := r RANLIB := @RANLIB@ INSTALL := @INSTALL@ INSTALL_PROGRAM := @INSTALL_PROGRAM@ INSTALL_SCRIPT := @INSTALL_SCRIPT@ INSTALL_DATA := @INSTALL_DATA@ PYTHON_COMPILER := @PYTHON_COMPILER@ UMASK ?= 022 INSTALL_DIR := $(SHELL) $(top_srcdir)/mkinstalldirs INSTALL_DIR := $(INSTALL) -d INSTALL_DIR := umask $(UMASK) && mkdirhier INSTALL_DIR := umask $(UMASK) && $(MKDIR) SWIG := @SWIG@ CC := gcc CC_WARNING_OPTIONS := -Wall CC_PIC_OPTIONS := -fPIC CC_SHARED_OPTIONS := -shared CC_OPTIONS := $(CC_WARNING_OPTIONS) ifdef DEBUG CC_OPTIONS += -g DEFINES += -D__DEBUG__ else DEFINES += -DNDEBUG endif CPPFLAGS = $(DEFINES) $(INCLUDES) @DEFS@ @CPPFLAGS@ CFLAGS = @CFLAGS@ $(CC_OPTIONS) LDFLAGS = @LDFLAGS@ $(LD_OPTIONS) LDLIBS = $(LIBRARIES) @LIBS@ default: _ivycpy.so ivycpy.pyc $(DOCS) $(EXAMPLES) $(DEBIANSTUFF) _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.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.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 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) $< # 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/pyIvy/Ivy/g" $< docs/html/index.html: docs/html/index_tpl.html >|$@ sed -e "s/_VERSION_/$(VERSION)/g" $< VERSION: printf '# generated dynamically do not edit; change VERSION in configure.in instead\n' >|$@ printf '#Version: %s \n' $(VERSION) >|$@ # misc docs/examples/env.sh: env_tpl.sh >|$@ sed -e "s|_IVYCPYPATH_|$(pythondir)|g" $< # debian debian/copyright: docs/copyright $(INSTALL_DATA) $< debian # 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) _ivycpy.so ivycpy.py* $(pythondir) # install of docs requires o exclude service file : CVS, .cvsignore install:: $(DOCS) $(EXAMPLES) $(INSTALL_DIR) $(PKGDOCDIR) # cp -rp docs/* $(PKGDOCDIR) cd docs && \ find . -type d ! \( -name 'CVS*' -o -name '.' \) -exec install -d $(PKGDOCDIR)/{} ";" && \ find . -type f ! \( -name '.cvsignore' -o -name 'CVS*' \) -exec cp -p {} $(PKGDOCDIR)/{} ";" .PHONY: default install VERSION clean: $(RM) core a.out *.o $(RM) _ivycpy.so ivycpy*.py find . -name '*.pyc' -exec $(RM) {} ";" realclean: clean $(RM) ivycpy_wrap*.c $(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 GNUmakefile:: GNUmakefile.in CONFIG_FILES=GNUmakefile ./config.status GNUmakefile:: ./config.status ./config.status config.status: @top_srcdir@/configure ./config.status --recheck @top_srcdir@/configure: @top_srcdir@/configure.in cd @top_srcdir@ && autoconf recheck: ./config.status --recheck && ./config.status .PHONY: recheck ## [END OF FILE]