chiark / gitweb /
octave4.4
[nlopt.git] / swig / Makefile.am
1 SWIG_SRC = nlopt.i nlopt-exceptions.i nlopt-enum-renames.i 
2 EXTRA_DIST = $(SWIG_SRC) nlopt-guile.i nlopt-python.i nlopt.scm.in nlopt.py numpy.i
3
4 BUILT_SOURCES = nlopt-guile.cpp nlopt-python.cpp nlopt-enum-renames.i nlopt.scm.in
5
6 HDR = $(top_srcdir)/api/nlopt.hpp
7
8 ##############################################################################
9 # Guile wrapper
10
11 libnlopt@NLOPT_SUFFIX@_guile_la_SOURCES = nlopt-guile.cpp
12 libnlopt@NLOPT_SUFFIX@_guile_la_LIBADD = ../libnlopt@NLOPT_SUFFIX@.la
13 libnlopt@NLOPT_SUFFIX@_guile_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
14 libnlopt@NLOPT_SUFFIX@_guile_la_CPPFLAGS = $(GUILE_CPPFLAGS) -I$(top_srcdir)/api
15
16 guiledir = $(GUILE_INSTALL_DIR)
17 if WITH_GUILE
18 guile_DATA = nlopt.scm
19 guilelib = libnlopt@NLOPT_SUFFIX@_guile.la
20 endif
21
22 ##############################################################################
23 # Python wrapper
24
25 _nlopt_la_SOURCES = nlopt-python.cpp
26 _nlopt_la_LIBADD = ../libnlopt@NLOPT_SUFFIX@.la
27 _nlopt_la_LDFLAGS = -module -version-info @SHARED_VERSION_INFO@
28 _nlopt_la_CPPFLAGS = $(PYTHON_INCLUDES) -I$(top_srcdir)/api
29
30 if WITH_PYTHON
31 python_PYTHON = nlopt.py
32 pyexec_LTLIBRARIES = _nlopt.la
33 endif
34
35 ##############################################################################
36
37
38 lib_LTLIBRARIES = $(guilelib)
39
40 ##############################################################################
41 # Generate wrappers via SWIG:
42
43 if MAINTAINER_MODE
44
45 nlopt-guile.cpp nlopt.scm.in: $(SWIG_SRC) nlopt-guile.i $(HDR)
46         swig -I$(top_srcdir)/api -outdir $(builddir) -c++ -guile -scmstub -o $@ $(srcdir)/nlopt.i
47         rm -f nlopt.scm.in
48         mv nlopt.scm nlopt.scm.in
49
50 nlopt-python.cpp nlopt.py: $(SWIG_SRC) nlopt-python.i numpy.i $(HDR)
51         swig -I$(top_srcdir)/api -outdir $(builddir) -c++ -python -o $@ $(srcdir)/nlopt.i
52
53 nlopt-enum-renames.i: $(top_srcdir)/api/nlopt.h
54         (echo "// AUTOMATICALLY GENERATED -- DO NOT EDIT"; egrep 'NLOPT_[LG][DN]|NLOPT_AUGLAG|NLOPT_G_MLSL|NLOPT_NUM_ALGORITHMS' $(top_srcdir)/api/nlopt.h | sed 's/NLOPT_//g' |tr -d ' ' |tr '/' ',' |tr '=' ',' |cut -d, -f1 |while read name; do echo "%rename(NLOPT_$$name) nlopt::$$name;"; done; egrep 'NLOPT_[A-Z_]* =' $(top_srcdir)/api/nlopt.h | egrep -v 'NLOPT_[LG][DN]|NLOPT_AUGLAG|NLOPT_G_MLSL' | sed 's/NLOPT_//g' |tr -d ' ' |cut -d'=' -f1 | while read name; do echo "%rename(NLOPT_$$name) nlopt::$$name;"; done) > $@
55
56 endif