-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathMakefile.in
212 lines (186 loc) · 6.38 KB
/
Makefile.in
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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
# Top level Makefile for Infernal
#
# On most systems, to build Infernal you should only need:
# % ./configure; make
#
# Optionally, you can run a test suite:
# % make check
#
# And optionally, you can install everything more permanently:
# % make install
#
# For more information, see the Installation chapter of the Infernal
# User's Guide.
#
# VPATH and shell configuration
#
top_srcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
SHELL = /bin/sh
ESLDIR = @INFERNAL_ESLDIR@
HMMERDIR = @INFERNAL_HMMERDIR@
SADIR = @INFERNAL_SADIR@
# impl directory (currently only either 'impl_sse' or '')
IMPLDIR = @INFERNAL_IMPLDIR@
# Package information
#
PACKAGE = @PACKAGE_NAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
# Installation targets
#
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
docdir = @docdir@
pdfdir = @pdfdir@
mandir = @mandir@
man1dir = ${mandir}/man1
man1ext = .1
# Compiler configuration
#
CC = @CC@
CFLAGS = @CFLAGS@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
NEON_CFLAGS = @NEON_CFLAGS@
SSE_CFLAGS = @SSE_CFLAGS@
VMX_CFLAGS = @VMX_CFLAGS@
LDFLAGS = -static @LDFLAGS@
CPPFLAGS = @CPPFLAGS@
# Other tools
#
AR = @AR@
RANLIB = @RANLIB@
INSTALL = @INSTALL@
# beautification magic stolen from git
#
QUIET_SUBDIR0 = +${MAKE} -C #space separator after -c
QUIET_SUBDIR1 =
ifndef V
QUIET = @
QUIET_CC = @echo ' ' CC $@;
QUIET_GEN = @echo ' ' GEN $@;
QUIET_AR = @echo ' ' AR $@;
QUIET_SUBDIR0 = +@subdir=
QUIET_SUBDIR1 = ; echo ' ' SUBDIR $$subdir; \
${MAKE} -C $$subdir
endif
# Programs installed by Infernal
#
PROGS = cmalign\
cmbuild\
cmcalibrate\
cmemit\
cmfetch\
cmscan\
cmsearch\
cmstat
SSEPROGS = sse_cmsearch\
cmsearch_dual
.PHONY: all dev check pdf install uninstall clean distclean TAGS
# all: Compile all documented executables.
# (Excludes test programs.)
#
all:
${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} all
${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} all
${QUIET_SUBDIR0}${HMMERDIR} ${QUIET_SUBDIR1} all
${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} all
${QUIET_SUBDIR0}rmark ${QUIET_SUBDIR1} all
ifdef IMPLDIR
${QUIET_SUBDIR0}src/impl_sse ${QUIET_SUBDIR1} all
endif
# dev: compile all executables, including drivers.
#
dev:
${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} dev
${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} all
${QUIET_SUBDIR0}${HMMERDIR} ${QUIET_SUBDIR1} dev
${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} dev
${QUIET_SUBDIR0}rmark ${QUIET_SUBDIR1} all
# tests: compile all test drivers for 'make check'
#
tests:
${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} tests
${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} all
${QUIET_SUBDIR0}${HMMERDIR} ${QUIET_SUBDIR1} tests
${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} tests
# check: Run test suites.
#
# We do a 'check' in HMMERDIR/testsuite, not HMMERDIR/ because we
# don't need to run the Easel testsuite twice.
#
check:
@command -v python3 >/dev/null 2>&1 || { echo >&2 "python3 is required for 'make check', but is not in your PATH. Aborting."; exit 1; }
${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} tests
${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} all
${QUIET_SUBDIR0}${HMMERDIR} ${QUIET_SUBDIR1} tests
${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} tests
${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} check
${QUIET_SUBDIR0}${HMMERDIR}/testsuite ${QUIET_SUBDIR1} check
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} check
# devcheck: Run Infernal developer test suite (slower, but more comprehensive than 'check').
#
devcheck:
@command -v python3 >/dev/null 2>&1 || { echo >&2 "python3 is required for 'make devcheck', but is not in your PATH. Aborting."; exit 1; }
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} devcheck
# pdf: compile the User Guides.
#
pdf:
${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} pdf
# install: installs the binaries in ${bindir}/
# When man pages are done, will install man pages in MANDIR/man1/ (e.g. if MANSUFFIX is 1)
# Creates these directories if they don't exist.
# Prefix those paths with ${DESTDIR} (rarely used, usually null;
# may be set on a make command line when building contrib RPMs).
install:
${INSTALL} -d ${DESTDIR}${bindir}
${INSTALL} -d ${DESTDIR}${man1dir}
${INSTALL} -d ${DESTDIR}${pdfdir}
# src 'install' moves into impl_sse and does 'install' (if IMPLDIR is defined (system has SSE))
${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} install
${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} install
# uninstall: Reverses the steps of "make install".
#
uninstall:
${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} uninstall
${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} uninstall
# "make clean" removes almost everything except configuration files.
#
clean:
${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} clean
${QUIET_SUBDIR0}rmark ${QUIET_SUBDIR1} clean
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} clean
${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} clean
${QUIET_SUBDIR0}${HMMERDIR} ${QUIET_SUBDIR1} clean
${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} clean
${QUIET}-rm -f *.o *~ Makefile.bak core TAGS TAGS.part gmon.out
ifndef V
@echo ' ' CLEAN infernal
endif
# "make distclean" leaves a pristine source distribution.
#
distclean:
${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} distclean
${QUIET_SUBDIR0}rmark ${QUIET_SUBDIR1} distclean
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} distclean
${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} distclean
${QUIET_SUBDIR0}${HMMERDIR} ${QUIET_SUBDIR1} distclean
# no need to distclean in easel/ because distclean in hmmer/ already did that (and easel/Makefile has been deleted)
${QUIET}-rm -f config.log config.status
${QUIET}-rm -rf autom4te.cache
${QUIET}-rm -f *.o *~ Makefile.bak core TAGS TAGS.part gmon.out
${QUIET}-rm -f cscope.po.out cscope.out cscope.in.out cscope.files
${QUIET}-rm -f release-notes/LICENSE.sh
${QUIET}-rm -f src/impl
${QUIET}-rm Makefile
ifndef V
@echo ' ' CLEAN infernal
endif
# "make TAGS": emacs etags database, for searching the whole source tree.
TAGS:
./makeTAGS.sh