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
|
#!/usr/bin/make -f
include /usr/share/dpkg/default.mk
ifeq (ppc64el,$(DEB_HOST_ARCH))
DEB_CFLAGS_MAINT_APPEND+=-mcpu=power8
DEB_CXXFLAGS_MAINT_APPEND+=-mcpu=power8
endif
ifneq (,$(filter $(DEB_HOST_ARCH),armel mipsel m68k powerpc))
DEB_LDFLAGS_MAINT_APPEND+=-latomic
endif
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_CFLAGS_MAINT_APPEND+=-DSIMDE_ENABLE_OPENMP -fopenmp-simd -O3 -I/usr/include/simde
export DEB_CXXFLAGS_MAINT_APPEND+=-DSIMDE_ENABLE_OPENMP -fopenmp-simd -O3 -I/usr/include/simde
export DEB_LDFLAGS_MAINT_APPEND+=-ldeflate
DIRECTORY=build_dynamic/
prefix=$(CURDIR)/debian/$(DEB_SOURCE)/usr
libexecdir=$(prefix)/lib/$(DEB_SOURCE)
%:
dh $@ --sourcedirectory=$(DIRECTORY)
override_dh_auto_clean:
dh_auto_clean
rm -f plink2.1
rm -f pgen_compress.1
override_dh_installman:
dh_installman debian/plink2.1
dh_installman pgen_compress.1
override_dh_installchangelogs:
dh_installchangelogs debian/upstream.docs/upstream.changelog
override_dh_gencontrol:
dh_gencontrol -- -Vsimde:Built-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W "libsimde-dev")"
override_dh_auto_build-arch:
ifeq (amd64,$(DEB_HOST_ARCH))
mkdir -p $(prefix)
mkdir -p $(libexecdir)
export CXXFLAGS="$(CXXFLAGS) -mavx2 -mbmi -mbmi2 -mlzcnt" && export CFLAGS="$(CFLAGS) -mavx2 -mbmi -mbmi2 -mlzcnt" && \
make clean ; \
dh_auto_build -- SFX=-avx2
for SIMD in avx sse4.1 ssse3 sse3 sse2 ; do \
export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && export CFLAGS="$(CFLAGS) -m$${SIMD}" && \
make clean ; \
dh_auto_build -- SFX=-$${SIMD} ; \
done
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
# help2man 1.47.13 is not able anymore do generate a clean manpage for plink1.9
# which lead to several lintian warnings
# help2man --no-discard-stderr --name="whole genome SNP analysis" $(DIRECTORY)/plink2 > plink2.1
help2man --no-discard-stderr --name="whole genome SNP analysis" $(DIRECTORY)/pgen_compress-sse2 > pgen_compress.1
endif
else ifeq (i386,$(DEB_HOST_ARCH))
mkdir -p $(prefix)
mkdir -p $(libexecdir)
for SIMD in ssse3 sse3 sse2 sse mmx; do \
export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && export CFLAGS="$(CFLAGS) -m$${SIMD}" && \
make clean ; \
dh_auto_build -- SFX=-$${SIMD} ; \
done
dh_auto_build -- SFX=-plain
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
# help2man 1.47.13 is not able anymore do generate a clean manpage for plink1.9
# which lead to several lintian warnings
# help2man --no-discard-stderr --name="whole genome SNP analysis" $(DIRECTORY)/plink2 > plink2.1
help2man --no-discard-stderr --name="whole genome SNP analysis" $(DIRECTORY)/pgen_compress-plain > pgen_compress.1
endif
else
dh_auto_build
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
# help2man 1.47.13 is not able anymore do generate a clean manpage for plink1.9
# which lead to several lintian warnings
# help2man --no-discard-stderr --name="whole genome SNP analysis" $(DIRECTORY)/plink2 > plink2.1
help2man --no-discard-stderr --name="whole genome SNP analysis" $(DIRECTORY)/pgen_compress > pgen_compress.1
endif
endif
override_dh_auto_install-arch:
ifeq (amd64,$(DEB_HOST_ARCH))
dh_install debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/
for SIMD in avx2 avx sse4.1 ssse3 sse3 sse2 ; do \
dh_install build_dynamic/plink2-$${SIMD} usr/lib/$(DEB_SOURCE)/ ; \
dh_install build_dynamic/pgen_compress-$${SIMD} usr/lib/$(DEB_SOURCE)/ ; \
done
mkdir -p $(prefix)/bin
cd $(prefix)/bin \
&& for prog in plink2 pgen_compress ; do \
ln -s ../lib/$(DEB_SOURCE)/simd-dispatch $${prog} ; done
else ifeq (i386,$(DEB_HOST_ARCH))
dh_install debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/
for SIMD in ssse3 sse3 sse2 plain ; do \
dh_install build_dynamic/plink2-$${SIMD} usr/lib/$(DEB_SOURCE)/ ; \
dh_install build_dynamic/pgen_compress-$${SIMD} usr/lib/$(DEB_SOURCE)/ ; \
done
mkdir -p $(prefix)/bin
cd $(prefix)/bin \
&& for prog in plink2 pgen_compress ; do \
ln -s ../lib/$(DEB_SOURCE)/simd-dispatch $${prog} ; done
else
dh_install build_dynamic/plink2 usr/bin/
dh_install build_dynamic/pgen_compress usr/bin/
endif
override_dh_auto_install-indep:
|