Browse Source

Standalone programs and Python extensions are compiling with multiprecision. The debian package is still failing to build with MP.

Ovidio Peña Rodríguez 8 years ago
parent
commit
1c880dd237
1 changed files with 21 additions and 0 deletions
  1. 21 0
      Makefile

+ 21 - 0
Makefile

@@ -5,16 +5,20 @@ PROJECT=python-scattnlay
 VERSION=2.0
 BUILDIR=$(CURDIR)/debian/$(PROJECT)
 SRCDIR=$(CURDIR)/src
+MULTIPREC=100
 
 all:
 	@echo "make source - Create source package for Python extension"
 	@echo "make cython - Convert Cython code to C++"
 	@echo "make python_ext - Create Python extension using C++ code"
+	@echo "make python_ext_mp - Create miltiprecision Python extension using C++ code"
 	@echo "make cython_ext - Create Python extension using Cython code"
 	@echo "make install - Install Python extension on local system"
 	@echo "make buildrpm - Generate a rpm package for Python extension"
 	@echo "make builddeb - Generate a deb package for Python extension"
+	@echo "make builddebmp - Generate a deb package for Python extension with multiprecision"
 	@echo "make standalone - Create standalone programs (scattnlay and fieldnlay)"
+	@echo "make standalonemp - Create standalone programs (scattnlay and fieldnlay) with multiprecision"
 	@echo "make clean - Delete temporal files"
 #	make standalone
 
@@ -28,6 +32,9 @@ cython: scattnlay.pyx
 python_ext: $(SRCDIR)/nmie.cc $(SRCDIR)/py_nmie.cc $(SRCDIR)/scattnlay.cpp
 	export CFLAGS='-std=c++11' && $(PYTHON) setup.py build_ext --inplace
 
+python_ext_mp: $(SRCDIR)/nmie.cc $(SRCDIR)/py_nmie.cc $(SRCDIR)/scattnlay.cpp
+	export CFLAGS='-std=c++11 -DMULTI_PRECISION=$(MULTIPREC)' && $(PYTHON) setup-mp.py build_ext --inplace
+
 cython_ext: $(SRCDIR)/nmie.cc $(SRCDIR)/py_nmie.cc scattnlay.pyx
 	export CFLAGS='-std=c++11' && $(PYTHON) setup.py build_ext --inplace
 
@@ -46,12 +53,26 @@ builddeb:
 	# build the package
 	export CFLAGS='-std=c++11' && dpkg-buildpackage -i -I -rfakeroot
 
+#builddebmp:
+	# build the source package in the parent directory
+	# then rename it to project_version.orig.tar.gz
+#	$(PYTHON) setup-mp.py sdist $(COMPILE) --dist-dir=../ --prune
+#	rename -f 's/$(PROJECT)-(.*)\.tar\.gz/$(PROJECT)_$$1\.orig\.tar\.gz/' ../*
+	# build the package
+#	export CFLAGS='-std=c++11 -DMULTI_PRECISION=$(MULTIPREC)' && dpkg-buildpackage -i -I -rfakeroot
+
 standalone: $(SRCDIR)/farfield.cc $(SRCDIR)/nearfield.cc $(SRCDIR)/nmie.cc
 	export CFLAGS='-std=c++11' && c++ -DNDEBUG -O2 -Wall -std=c++11 $(SRCDIR)/farfield.cc $(SRCDIR)/nmie.cc  -lm -o scattnlay
 	mv scattnlay ../
 	export CFLAGS='-std=c++11' && c++ -DNDEBUG -O2 -Wall -std=c++11 $(SRCDIR)/nearfield.cc $(SRCDIR)/nmie.cc  -lm -o fieldnlay
 	mv fieldnlay ../
 
+standalonemp: $(SRCDIR)/farfield.cc $(SRCDIR)/nearfield.cc $(SRCDIR)/nmie.cc
+	export CFLAGS='-std=c++11' && c++ -DNDEBUG -DMULTI_PRECISION=$(MULTIPREC) -O2 -Wall -std=c++11 $(SRCDIR)/farfield.cc $(SRCDIR)/nmie.cc  -lm -o scattnlay-mp
+	mv scattnlay-mp ../
+	export CFLAGS='-std=c++11' && c++ -DNDEBUG -DMULTI_PRECISION=$(MULTIPREC) -O2 -Wall -std=c++11 $(SRCDIR)/nearfield.cc $(SRCDIR)/nmie.cc  -lm -o fieldnlay-mp
+	mv fieldnlay-mp ../
+
 clean:
 	$(PYTHON) setup.py clean
 	$(MAKE) -f $(CURDIR)/debian/rules clean