#!/usr/bin/make -f # This package is maintained by the Debian Med packaging team. Please refer to # our group policy if you would like to commit to our Git repository. All # Debian developpers have write acces to it. # # https://med-team.pages.debian.net/policy/ include /usr/share/dpkg/default.mk prefix=$(CURDIR)/debian/$(DEB_SOURCE)/usr mandir=$(prefix)/share/man/man1 libexecdir=$(prefix)/lib/$(DEB_SOURCE) # Copy and extend upstream CXXFLAGS here because makefile enables only overriding them export DEB_CXXFLAGS_MAINT_APPEND += -Wall -Wextra -Wcast-qual -Wswitch-enum -Wundef -Wcast-align -Wno-long-long -ansi -pedantic -std=c++11 -fopenmp-simd -O3 export DEB_CPPFLAGS_MAINT_APPEND += -DHAS_CXX_THREADS -DSIMDE_ENABLE_OPENMP # -Wconversion # -fomit-frame-pointer ? export DEB_LDFLAGS_MAINT_APPEND += -pthread export DEB_BUILD_MAINT_OPTIONS = hardening=+all BUILT_USING=$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W "libsimde-dev") %: dh $@ override_dh_auto_build: ifeq (amd64,$(DEB_HOST_ARCH)) mkdir -p $(prefix) mkdir -p $(libexecdir) for SIMD in avx2 avx sse4.1 ssse3 sse3 sse2 ; do \ export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && export CFLAGS="$(CFLAGS) -m$${SIMD}" && \ dh_auto_build -- all SFX=-$${SIMD} ; \ find . -name '*.o' -delete ; \ find . -name '*.o8' -delete ; \ done else ifeq (i386,$(DEB_HOST_ARCH)) mkdir -p $(prefix) mkdir -p $(libexecdir) for SIMD in avx2 avx sse4.1 ssse3 sse3 sse2 sse; do \ export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && export CFLAGS="$(CFLAGS) -m$${SIMD}" && \ dh_auto_build -- all SFX=-$${SIMD} ; \ find . -name '*.o' -delete ; \ find . -name '*.o8' -delete ; \ done export CXXFLAGS="$(CXXFLAGS)" && export CFLAGS="$(CFLAGS)" && dh_auto_build -- all SFX=-plain else dh_auto_build endif HELP2MAN = help2man --no-info --version-string="$(DEB_VERSION_UPSTREAM)" override_dh_auto_install: ifeq (amd64,$(DEB_HOST_ARCH)) dh_install debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/ dh_install src/lastdb-* src/lastal-* src/last-split-* src/last-merge-batches-* src/last-pair-probs-* src/lastdb8-* src/lastal8-* src/last-split8-* usr/lib/last-align dh_install scripts/* usr/bin mkdir -p $(prefix)/bin cd $(prefix)/bin \ && for prog in lastdb lastal last-split last-merge-batches last-pair-probs lastdb8 lastal8 last-split8 ; 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)/ dh_install src/lastdb-* src/lastal-* src/last-split-* src/last-merge-batches-* src/last-pair-probs-* src/lastdb8-* src/lastal8-* src/last-split8-* usr/lib/last-align dh_install scripts/* usr/bin mkdir -p $(prefix)/bin cd $(prefix)/bin \ && for prog in lastdb lastal last-split last-merge-batches last-pair-probs lastdb8 lastal8 last-split8 ; do \ ln -s ../lib/$(DEB_SOURCE)/simd-dispatch $${prog} ; done else $(MAKE) -j$(NUMJOBS) install prefix=$(prefix) endif override_dh_auto_clean: ifeq (amd64,$(DEB_HOST_ARCH)) for SIMD in avx2 avx sse4.1 ssse3 sse3 sse2 ; do \ dh_auto_clean -- SFX=-$${SIMD} ; done else ifeq (i386,$(DEB_HOST_ARCH)) for SIMD in avx2 avx sse4.1 ssse3 sse3 sse2 sse plain; do \ dh_auto_clean -- SFX=-$${SIMD} ; done else dh_auto_clean endif for i in last-merge-batches last-pair-probs last-split last-split8 lastal lastal8 lastdb lastdb8; \ do \ for j in avx avx2 sse2 sse3 sse4.1 ssse3 sse3 sse2 sse ; \ do \ rm -f src/$$i-$$j ; \ done ; \ done override_dh_installman: dh_installman $(HELP2MAN) \ --name='make a dotplot, a.k.a. Oxford Grid, of alignments in LAST tabular format' \ $(CURDIR)/scripts/last-dotplot > $(mandir)/last-dotplot.1 $(HELP2MAN) \ --name="genome-scale comparison of biological sequences" \ --help-option="-h" \ $(prefix)/bin/lastal > $(mandir)/lastal.1 $(HELP2MAN) \ --name="genome-scale comparison of biological sequences" \ --help-option="-h" \ $(prefix)/bin/lastal8 > $(mandir)/lastal8.1 # help2man output needs manual postprocessing - see debian/mans #$(HELP2MAN) \ # --name="genome-scale comparison of biological sequences" \ # --help-option="-h" \ # $(prefix)/bin/lastdb > $(mandir)/lastdb.1 $(HELP2MAN) \ --name="Sort MAF-format alignments by sequence name" \ $(CURDIR)/scripts/maf-sort > $(mandir)/maf-sort.1 $(HELP2MAN) \ --name="changes the order of the sequences in MAF-format alignments" \ $(CURDIR)/scripts/maf-swap > $(mandir)/maf-swap.1 # help2man output needs manual postprocessing - see debian/mans #$(HELP2MAN) \ # --name="Add extra column with mapping probabilities" \ # $(CURDIR)/scripts/last-map-probs > $(mandir)/last-map-probs.1 # This script has not enough to put in a manual page. #$(HELP2MAN) \ # --name="Read files of lastal output, merge corresponding batches, and write them." \ # $(CURDIR)/scripts/last-merge-batches > $(mandir)/last-merge-batches.1 # # These scripts were droped #$(HELP2MAN) \ # --name="Clean up MAF-format alignments" \ # $(CURDIR)/scripts/last-reduce-alignments > $(mandir)/last-reduce-alignments.1 #$(HELP2MAN) \ # --name='Remove MAF-format alignments which are "dominated" by others' \ # $(CURDIR)/scripts/last-remove-dominated > $(mandir)/last-remove-dominated.1 $(HELP2MAN) \ --name='Estimates "split" or "spliced" alignments.' \ $(prefix)/bin/last-split > $(mandir)/last-split.1 $(HELP2MAN) \ --name='Estimates "split" or "spliced" alignments.' \ $(prefix)/bin/last-split8 > $(mandir)/last-split8.1 $(HELP2MAN) \ --name="Join two or more sets of MAF-format multiple alignments" \ $(CURDIR)/scripts/maf-join > $(mandir)/maf-join.1 $(HELP2MAN) \ --name="Convert MAF-format alignments to tabular format" \ $(CURDIR)/scripts/maf-convert > $(mandir)/maf-convert.1 $(HELP2MAN) \ --name="Read 2 fastq files, and write them interleaved" \ $(CURDIR)/scripts/fastq-interleave > $(mandir)/fastq-interleave.1 $(HELP2MAN) \ --name="Read files of lastal output, merge corresponding batches, and write them" \ $(prefix)/bin/last-merge-batches > $(mandir)/last-merge-batches.1 # help2man output needs manual postprocessing - see debian/mans #$(HELP2MAN) \ # --name="Read alignments of paired DNA reads to a genome, and do estimations" \ # $(prefix)/bin/last-pair-probs > $(mandir)/last-pair-probs.1 $(HELP2MAN) \ --name="Get alignments that have a segment with score >= threshold, with gentle masking of lowercase letters" \ $(CURDIR)/scripts/last-postmask > $(mandir)/last-postmask.1 $(HELP2MAN) \ --name="Try to find suitable score parameters for aligning the given sequences" \ $(CURDIR)/scripts/last-train > $(mandir)/last-train.1 override_dh_installchangelogs: dh_installchangelogs ChangeLog.txt override_dh_gencontrol: dh_gencontrol -- -VBuilt-Using="$(BUILT_USING)"