File: rules

package info (click to toggle)
last-align 1179-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 4,004 kB
  • sloc: cpp: 43,317; python: 3,352; ansic: 1,874; makefile: 495; sh: 305
file content (167 lines) | stat: -rwxr-xr-x 7,344 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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#!/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)"