File: rules

package info (click to toggle)
srslte 18.06.1-8
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 10,996 kB
  • sloc: cpp: 100,729; ansic: 69,791; sh: 118; makefile: 87
file content (151 lines) | stat: -rwxr-xr-x 7,225 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#!/usr/bin/make -f

#export DH_VERBOSE=1

include /usr/share/dpkg/pkg-info.mk


export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# To get cmake to pick up hardening flags when invoked directly:
CFLAGS+=$(CPPFLAGS)
CXXFLAGS+=$(CPPFLAGS)
#


CHANGELOG_DATE ?= $(shell LC_ALL=C date -u -d @$(SOURCE_DATE_EPOCH) +"%d %B %Y")

multiarch = $(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)
arch = $(shell dpkg-architecture -qDEB_BUILD_ARCH)

%:
	dh $@

override_dh_auto_configure-indep:

override_dh_auto_configure-arch:
	dh_auto_configure -a -- -DRPATH=1 -DCUSTOM_RPATH=/usr/lib/srslte -DENABLE_SSE=0 -DENABLE_AVX=0 -DENABLE_AVX2=0 -DENABLE_FMA=0 -DENABLE_AVX512=0 -DENABLE_NEON=0 -DDISABLE_SIMD=1
	if [ "${arch}" = "amd64" ] || \
	   [ "${arch}" = "i386" ] ; then \
	  mkdir -p obj_avx && cd obj_avx && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/$(multiarch) -DRPATH=1 -DCUSTOM_RPATH=/usr/lib/srslte/avx -DENABLE_AVX512=0 -DENABLE_FMA=0 -DENABLE_AVX2=0 -DDISABLE_SIMD=1 .. ; cd .. ; \
	  mkdir -p obj_avx2 && cd obj_avx2 && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/$(multiarch) -DRPATH=1 -DCUSTOM_RPATH=/usr/lib/srslte/avx2 -DENABLE_AVX512=0 -DDISABLE_SIMD=1 .. ; cd .. ; \
	  mkdir -p obj_sse4 && cd obj_sse4 && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/$(multiarch) -DRPATH=1 -DCUSTOM_RPATH=/usr/lib/srslte/sse4 -DENABLE_AVX512=0 -DENABLE_FMA=0 -DENABLE_AVX2=0 -DENABLE_AVX=0 -DDISABLE_SIMD=1 .. ; cd .. ; \
	fi
	# Build of NEON for ARM has been disabled since it FTBFS with the current version:
	#if [ "${arch}" = "armel" ] || \
	#   [ "${arch}" = "armhf" ] ; then \
	#  mkdir -p obj_neon && cd obj_neon && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/$(multiarch) -DRPATH=1 -DCUSTOM_RPATH=/usr/lib/srslte/neon -DENABLE_AVX512=0 -DENABLE_FMA=0 -DENABLE_AVX2=0 -DDISABLE_SIMD=1 .. ; \
	#fi


override_dh_installman-indep:

override_dh_installman-arch:
	cd debian/man ; CHANGELOG_DATE="$(CHANGELOG_DATE)" ./genmanpages.sh
	dh_installman -a

override_dh_auto_clean:
	dh_auto_clean
	$(RM) debian/man/*.1
	$(RM) -r obj_avx
	$(RM) -r obj_avx2
	$(RM) -r obj_sse4
	$(RM) -r obj_neon
	$(RM) -r debian/tmp_avx
	$(RM) -r debian/tmp_avx2
	$(RM) -r debian/tmp_sse4
	$(RM) -r debian/tmp_neon


override_dh_auto_build-indep:

override_dh_auto_build-arch:
	dh_auto_build -a
	if [ "${arch}" = "amd64" ] || \
	   [ "${arch}" = "i386" ] ; then \
	  cd obj_avx && make ; cd .. ; \
	  cd obj_avx2 && make ; cd .. ; \
	  cd obj_sse4 && make ; cd .. ; \
	fi
	#if [ "${arch}" = "armel" ] || \
	#   [ "${arch}" = "armhf" ] ; then \
	#  cd obj_neon && make ; \
	#fi


override_dh_auto_install-indep:

override_dh_auto_install-arch:
	dh_auto_install -a
	if [ "${arch}" = "amd64" ] || \
	   [ "${arch}" = "i386" ] ; then \
	  cd obj_avx && mkdir -p ../debian/tmp_avx && make DESTDIR=../debian/tmp_avx install ; cd .. ; \
	  cd obj_avx2 && mkdir -p ../debian/tmp_avx2 && make DESTDIR=../debian/tmp_avx2 install ; cd .. ; \
	  cd obj_sse4 && mkdir -p ../debian/tmp_sse4 && make DESTDIR=../debian/tmp_sse4 install ; cd .. ; \
	fi
	#if [ "${arch}" = "armel" ] || \
	#   [ "${arch}" = "armhf" ] ; then \
	#  cd obj_neon && mkdir -p ../debian/tmp_neon && make DESTDIR=../debian/tmp_neon install ; \
	#fi

override_dh_install-arch:
	dh_install -a
	if [ "${arch}" = "amd64" ] || \
	   [ "${arch}" = "i386" ] ; then \
	  mkdir -p debian/srslte-core/usr/lib/srslte/avx ; \
	  mkdir -p debian/srslte-core/usr/lib/srslte/avx2 ; \
	  mkdir -p debian/srslte-core/usr/lib/srslte/sse4 ; \
	  mkdir -p debian/srsenb/usr/lib/srslte/bin ; \
	  mkdir -p debian/srsue/usr/lib/srslte/bin ; \
	  cp debian/tmp_avx/usr/lib/srslte/libsrslte_rf.so debian/srslte-core/usr/lib/srslte/avx/ ; \
	  cp debian/tmp_avx/usr/bin/srsenb debian/srsenb/usr/lib/srslte/bin/srsenb-avx ; \
	  cp debian/tmp_avx/usr/bin/srsue debian/srsue/usr/lib/srslte/bin/srsue-avx ; \
	  cp debian/tmp_avx2/usr/lib/srslte/libsrslte_rf.so debian/srslte-core/usr/lib/srslte/avx2/ ; \
	  cp debian/tmp_avx2/usr/bin/srsenb debian/srsenb/usr/lib/srslte/bin/srsenb-avx2 ; \
	  cp debian/tmp_avx2/usr/bin/srsue debian/srsue/usr/lib/srslte/bin/srsue-avx2 ; \
	  cp debian/tmp_sse4/usr/lib/srslte/libsrslte_rf.so debian/srslte-core/usr/lib/srslte/sse4/ ; \
	  cp debian/tmp_sse4/usr/bin/srsenb debian/srsenb/usr/lib/srslte/bin/srsenb-sse4 ; \
	  cp debian/tmp_sse4/usr/bin/srsue debian/srsue/usr/lib/srslte/bin/srsue-sse4 ; \
	  mv debian/srsue/usr/bin/srsue debian/srsue/usr/lib/srslte/bin/srsue-generic ; \
	  mv debian/srsenb/usr/bin/srsenb debian/srsenb/usr/lib/srslte/bin/srsenb-generic ; \
	  cp debian/script/srsenb debian/srsenb/usr/bin/srsenb ; \
	  cp debian/script/srsue debian/srsue/usr/bin/srsue ; \
	fi
	#if [ "${arch}" = "armel" ] || \
	#   [ "${arch}" = "armhf" ] ; then \
	#  mkdir -p debian/srslte-core/usr/lib/srslte/neon ; \
	#  mkdir -p debian/srslte-core/usr/lib/srslte/bin ; \
	#  cp debian/tmp_avx/usr/lib/srslte/libsrslte_rf.so debian/srslte-core/usr/lib/srslte/neon/ ; \
	#  cp debian/tmp_avx/usr/bin/srsenb debian/srsenb/usr/lib/srslte/bin/srsenb-neon ; \
	#  cp debian/tmp_avx/usr/bin/srsue debian/srsue/usr/lib/srslte/bin/srsue-neon ; \
	#  mv debian/srslte/usr/bin/srsue debian/srsue/usr/lib/srslte/bin/srsue-generic ; \
	#  mv debian/srslte/usr/bin/srsenb debian/srsenb/usr/lib/srslte/bin/srsenb-generic ; \
	#  cp debian/script/srsenb debian/srsenb/usr/bin/srsenb ; \
	#  cp debian/script/srsue debian/srsue/usr/bin/srsue ; \
	#fi


override_dh_auto_test-indep:

# Tests pass when building without SIMD extensions on a few architectures, but not with:
# - AVX extensions (without AVX2)
# - SSE4.2 extensions (without AVX2 and AVX)
override_dh_auto_test-arch:
	if [ "${arch}" = "amd64" ] || \
	   [ "${arch}" = "arm64" ] || \
	   [ "${arch}" = "alpha" ] || \
	   [ "${arch}" = "ppc64el" ] ; then \
	  dh_auto_test -a ; \
	else \
	  echo "Skipping tests on this architecture" ; \
	fi
	#if [ "${arch}" = "amd64" ] || \
	#   [ "${arch}" = "i386" ] ; then \
	#  cd obj_avx  && make test ; cd .. ; \
	#  cd obj_avx2 && make test ; cd .. ; \
	#  cd obj_sse4 && make test ; cd .. ; \
	#fi

override_dh_installsystemd:
	dh_installsystemd --no-enable --no-start