From: Sam Creasey Date: Tue, 12 Apr 2016 18:37:30 +0000 (-0400) Subject: Chain build rules for guile and python bindings to avoid race conditions in parallel... X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=945becf166139b6619f6993fd75c271095e1801a;p=nlopt.git Chain build rules for guile and python bindings to avoid race conditions in parallel builds. --- diff --git a/swig/Makefile.am b/swig/Makefile.am index 5ccbfe1..0800b7b 100644 --- a/swig/Makefile.am +++ b/swig/Makefile.am @@ -1,4 +1,4 @@ -SWIG_SRC = nlopt.i nlopt-exceptions.i nlopt-enum-renames.i +SWIG_SRC = nlopt.i nlopt-exceptions.i nlopt-enum-renames.i EXTRA_DIST = $(SWIG_SRC) nlopt-guile.i nlopt-python.i nlopt.scm.in nlopt.py numpy.i BUILT_SOURCES = nlopt-guile.cpp nlopt-python.cpp nlopt-enum-renames.i nlopt.scm.in @@ -42,14 +42,18 @@ lib_LTLIBRARIES = $(guilelib) if MAINTAINER_MODE -nlopt-guile.cpp nlopt.scm.in: $(SWIG_SRC) nlopt-guile.i $(HDR) +nlopt-guile.cpp: $(SWIG_SRC) nlopt-guile.i $(HDR) swig -I$(top_srcdir)/api -outdir $(builddir) -c++ -guile -scmstub -o $@ $(srcdir)/nlopt.i rm -f nlopt.scm.in mv nlopt.scm nlopt.scm.in -nlopt-python.cpp nlopt.py: $(SWIG_SRC) nlopt-python.i numpy.i $(HDR) +nlopt.scm.in: nlopt-guile.cpp + +nlopt-python.cpp: $(SWIG_SRC) nlopt-python.i numpy.i $(HDR) swig -I$(top_srcdir)/api -outdir $(builddir) -c++ -python -o $@ $(srcdir)/nlopt.i +nlopt.py: nlopt-python.cpp + nlopt-enum-renames.i: $(top_srcdir)/api/nlopt.h (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) > $@