File: rules

package info (click to toggle)
openmm 7.7.0%2Bdfsg-9
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 114,116 kB
  • sloc: xml: 376,993; cpp: 198,330; python: 31,278; ansic: 5,610; lisp: 2,294; sh: 415; f90: 233; makefile: 223; csh: 19
file content (65 lines) | stat: -rwxr-xr-x 2,908 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/make -f

CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) -DDEB_HOST_MULTIARCH=\"$(DEB_HOST_MULTIARCH)\"
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed

export OPENMM_INCLUDE_PATH := $(CURDIR)/openmmapi/include;$(CURDIR)/olla/include;$(CURDIR)/serialization/include;$(CURDIR)/plugins/amoeba/openmmapi/include;$(CURDIR)/plugins/rpmd/openmmapi/include;$(CURDIR)/plugins/drude/openmmapi/include
export OPENMM_LIB_PATH     := $(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)

# CUDA compiler is non-free thus not available on buildds, nevertheless should not fail if present.
export OPENMM_CUDA_COMPILER := /usr/bin/nvcc

CMAKE_FLAGS = \
        -DCMAKE_VERBOSE_MAKEFILE=ON \
        -DCMAKE_C_FLAGS_RELEASE="$(CFLAGS)" \
        -DCMAKE_CXX_FLAGS_RELEASE="$(CXXFLAGS)" \
        -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$(LDFLAGS)" \
        -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON \
        -DCMAKE_BUILD_TYPE=Release      \
        $(CMAKE_ARCH_FLAGS) \
        -DOPENMM_BUILD_AMOEBA_PLUGIN=ON \
        -DOPENMM_BUILD_RPMD_PLUGIN=ON \
        -DOPENMM_BUILD_DRUDE_PLUGIN=ON \
        -DOPENMM_BUILD_SERIALIZATION_SUPPORT=ON \
        -DOPENMM_BUILD_C_AND_FORTRAN_WRAPPERS=OFF \
        -DOPENMM_BUILD_OPENCL_TESTS=OFF \

%:
	dh $@ --buildsystem=cmake --with numpy3,python3

override_dh_auto_configure:
	dh_auto_configure -- $(CMAKE_FLAGS)

override_dh_auto_build:
	dh_auto_build
	cd obj-*/python && python3 setup.py build

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	dh_auto_test
	cd obj-*/python/tests && PYTHONPATH=../build/lib.linux-$$(arch)-$$(py3versions -d | sed 's/^python//') pytest-3
endif

override_dh_auto_install:
	dh_auto_install -O--buildsystem=cmake
	dh_install -plibopenmm7.7      debian/tmp/usr/lib/libOpenMM.so.* usr/lib/${DEB_HOST_MULTIARCH}
	dh_install -plibopenmm-dev     debian/tmp/usr/lib/libOpenMMAmoeba.so usr/lib/${DEB_HOST_MULTIARCH}/openmm
	dh_install -plibopenmm-dev     debian/tmp/usr/lib/libOpenMMDrude.so  usr/lib/${DEB_HOST_MULTIARCH}/openmm
	dh_install -plibopenmm-dev     debian/tmp/usr/lib/libOpenMMRPMD.so   usr/lib/${DEB_HOST_MULTIARCH}/openmm
	dh_install -plibopenmm-dev     debian/tmp/usr/lib/libOpenMM.so   usr/lib/${DEB_HOST_MULTIARCH}
	dh_install -plibopenmm-plugins debian/tmp/usr/lib/plugins        usr/lib/${DEB_HOST_MULTIARCH}/openmm
	cd obj-*/python && python3 setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp

override_dh_python3:
	dh_python3
	find debian/python3-simtk -name '*.py' \
		| xargs sed -i 's/^#!\/bin\/env python/#!\/usr\/bin\/python3/'
	find debian/python3-simtk -name __pycache__ \
		| xargs rm -rf
	find debian/python3-simtk -name '_openmm.*.so' \
		| xargs chrpath --replace /usr/lib/${DEB_HOST_MULTIARCH}/openmm

override_dh_shlibdeps:
	dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info