Просмотр исходного кода

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

Ovidio Peña Rodríguez 10 лет назад
Родитель
Сommit
1c880dd237
1 измененных файлов с 21 добавлено и 0 удалено
  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