#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 include /usr/share/dpkg/default.mk export CCFLAGS=-flto $(CXXFLAGS) $(CPPFLAGS) -std=c++0x # export LDFLAGS+=-flto -pthread -lhts -lz export DEB_BUILD_MAINT_OPTIONS = hardening=+all AMD64_SIMD_LEVELS=avx2 avx sse4.1 ssse3 sse3 binprefix=$(CURDIR)/debian/$(DEB_SOURCE)/usr/bin libexecdir=$(CURDIR)/debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/bin export DEB_CFLAGS_MAINT_APPEND+=-O3 export DEB_CXXFLAGS_MAINT_APPEND+=-O3 # package already builds with -fopenmp, so no need to add that for SIMDe %: dh $@ --sourcedirectory=source override_dh_auto_build: ifeq ($(DEB_HOST_ARCH),amd64) mkdir --parents $(libexecdir) $(foreach SIMD,$(AMD64_SIMD_LEVELS),dh_auto_clean ; dh_auto_build -- SFX=-$(SIMD) CCFLAGS_common_add="-flto $(CCFLAGS)" CXXFLAGS="$(CXXFLAGS) -m$(SIMD)" LDFLAGS_add="$(LDFLAGS)" STAR-$(SIMD) STARlong-$(SIMD) && ) true dh_auto_clean ; dh_auto_build -- SFX=-plain CCFLAGS_common_add="-flto $(CCFLAGS)" CCFLAGS="$(CCFLAGS)" LDFLAGS_add="$(LDFLAGS)" STAR-plain STARlong-plain cp source/STAR-plain source/STARlong-plain $(libexecdir)/ else dh_auto_build -- CCFLAGS_common_add="-flto $(CCFLAGS)" CCFLAGS="$(CCFLAGS)" LDFLAGS_add="$(LDFLAGS)" STAR STARlong endif override_dh_auto_install: ifeq ($(DEB_HOST_ARCH),amd64) mkdir --parents $(binprefix) $(foreach SIMD,$(AMD64_SIMD_LEVELS) plain,dh_install source/STAR-$(SIMD) source/STARlong-$(SIMD) /usr/lib/$(DEB_SOURCE)/bin && ) true dh_install debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/ set -e && cd $(binprefix) && for prog in STAR STARlong ; do ln -s \ ../lib/$(DEB_SOURCE)/simd-dispatch $${prog} ; done else dh_install source/STAR source/STARlong usr/bin/ endif override_dh_compress: dh_compress --exclude=.pdf override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ifeq ($(DEB_HOST_ARCH),amd64) set -e; for SIMD in $(AMD64_SIMD_LEVELS) ; do \ if lscpu | grep -q $${SIMD} ; then \ debian/tests/run_test.sh $(CURDIR)/source/STAR-$${SIMD} ; \ fi ; done debian/tests/run_test.sh $(libexecdir)/STAR-plain else debian/tests/run_test.sh $(CURDIR)/source/STAR endif endif override_dh_auto_clean: cd source; $(MAKE) clean override_dh_gencontrol: dh_gencontrol -- -Vsimde:Built-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W "libsimde-dev")"