1top_srcdir  = @top_srcdir@
2srcdir      = @srcdir@
3VPATH       = @srcdir@
4SHELL       = /bin/sh
5
6prefix      = @prefix@
7exec_prefix = @exec_prefix@
8datarootdir = @datarootdir@
9bindir      = @bindir@
10libdir      = @libdir@
11includedir  = @includedir@
12
13CC             = @CC@
14CFLAGS         = @CFLAGS@
15PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
16VMX_CFLAGS     = @VMX_CFLAGS@
17CPPFLAGS       = @CPPFLAGS@
18LDFLAGS        = @LDFLAGS@
19DEFS           = @DEFS@
20LIBS           = -lhmmer -leasel @LIBS@ -lm
21
22AR          = @AR@
23RANLIB      = @RANLIB@
24
25ESLDIR         = @HMMER_ESLDIR@
26MYLIBDIRS      = -L../../${ESLDIR} -L..
27MYINCDIRS      = -I../../${ESLDIR} \
28		 -I${top_srcdir}/easel \
29		 -I. \
30		 -I.. \
31		 -I${srcdir} \
32		 -I${top_srcdir}/src \
33		 -I${srcdir}/..
34
35OBJS =  decoding.o\
36	fwdback.o\
37	io.o\
38	msvfilter.o\
39	null2.o\
40	optacc.o\
41	stotrace.o\
42	vitfilter.o\
43	p7_omx.o\
44	p7_oprofile.o\
45	mpi.o
46
47HDRS =  impl_vmx.h
48
49UTESTS = @MPI_UTESTS@\
50	decoding_utest\
51	fwdback_utest\
52	io_utest\
53	msvfilter_utest\
54	null2_utest\
55	optacc_utest\
56	stotrace_utest\
57	vitfilter_utest
58
59BENCHMARKS = @MPI_BENCHMARKS@\
60	decoding_benchmark\
61	fwdback_benchmark\
62	msvfilter_benchmark\
63	null2_benchmark\
64	optacc_benchmark\
65	stotrace_benchmark\
66	vitfilter_benchmark
67
68EXAMPLES =\
69	fwdback_example\
70	io_example\
71	msvfilter_example\
72	optacc_example\
73	p7_oprofile_example\
74	stotrace_example\
75	vitfilter_example
76
77# beautification magic stolen from git
78QUIET_SUBDIR0 = +${MAKE} -C #space separator after -c
79QUIET_SUBDIR1 =
80ifndef V
81	QUIET_CC      = @echo '    ' CC $@;
82	QUIET_GEN     = @echo '    ' GEN $@;
83	QUIET_AR      = @echo '    ' AR $@;
84	QUIET_SUBDIR0 = +@subdir=
85	QUIET_SUBDIR1 = ; echo '    ' SUBDIR $$subdir; \
86		        ${MAKE} -s -C $$subdir
87endif
88
89.PHONY: all dev check tests distclean clean
90
91all:   libhmmer-impl.stamp
92dev:   ${UTESTS} ${BENCHMARKS} ${EXAMPLES}
93check: ${UTESTS}
94tests: ${UTESTS}
95
96libhmmer-impl.stamp: ${OBJS}
97	${QUIET_AR}${AR} -r ../libhmmer.a $? > /dev/null 2>&1
98	@${RANLIB} ../libhmmer.a
99	@echo "impl_lib objects compiled:\c" > $@
100	@date >> $@
101
102.FORCE:
103
104${OBJS}:   ${HDRS} ../hmmer.h
105
106.c.o:
107	${QUIET_CC}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${VMX_CFLAGS} ${CPPFLAGS} ${DEFS} ${MYINCDIRS} -c $<
108
109${UTESTS}: libhmmer-impl.stamp ../libhmmer.a ${HDRS} ../hmmer.h
110	@BASENAME=`echo $@ | sed -e 's/_utest//'| sed -e 's/^p7_//'` ;\
111	DFLAG=`echo $${BASENAME} | sed -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`;\
112	DFLAG=p7$${DFLAG}_TESTDRIVE ;\
113	if test -e ${srcdir}/p7_$${BASENAME}.c; then \
114           DFILE=${srcdir}/p7_$${BASENAME}.c ;\
115        else \
116           DFILE=${srcdir}/$${BASENAME}.c ;\
117	fi;\
118	if test ${V} ;\
119	   then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${VMX_CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}" ;\
120	   else echo '    ' GEN $@ ;\
121	fi ;\
122	${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${VMX_CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
123
124${BENCHMARKS}: libhmmer-impl.stamp ../libhmmer.a ${HDRS} ../hmmer.h
125	@BASENAME=`echo $@ | sed -e 's/_benchmark//' | sed -e 's/^p7_//'`;\
126	DFLAG=`echo $${BASENAME} | sed -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`;\
127	DFLAG=p7$${DFLAG}_BENCHMARK ;\
128	if test -e ${srcdir}/p7_$${BASENAME}.c; then \
129           DFILE=${srcdir}/p7_$${BASENAME}.c ;\
130        else \
131           DFILE=${srcdir}/$${BASENAME}.c ;\
132	fi;\
133	if test ${V} ;\
134	   then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${VMX_CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}" ;\
135	   else echo '    ' GEN $@ ;\
136	fi ;\
137	${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${VMX_CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
138
139${EXAMPLES}: libhmmer-impl.stamp ../libhmmer.a ${HDRS} ../hmmer.h
140	@BASENAME=`echo $@ | sed -e 's/_example//'| sed -e 's/^p7_//'` ;\
141	DFLAG=`echo $${BASENAME} | sed -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`;\
142	DFLAG=p7$${DFLAG}_EXAMPLE ;\
143	if test -e ${srcdir}/p7_$${BASENAME}.c; then \
144           DFILE=${srcdir}/p7_$${BASENAME}.c ;\
145        else \
146           DFILE=${srcdir}/$${BASENAME}.c ;\
147	fi;\
148	if test ${V} ;\
149	   then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${VMX_CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}" ;\
150	   else echo '    ' GEN $@ ;\
151	fi ;\
152	${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${VMX_CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
153
154clean:
155	-rm -f impl_lib.stamp
156	-rm -f ${UTESTS}
157	-rm -f ${BENCHMARKS}
158	-rm -f ${EXAMPLES}
159	-rm -f *.o *~ Makefile.bak core TAGS gmon.out cscope.out
160	-rm -f *.gcno
161	for prog in ${UTESTS} ${BENCHMARKS} ${EXAMPLES}; do \
162	   if test -d $$prog.dSYM; then rm -rf $$prog.dSYM ; fi ;\
163	done
164ifndef V
165	@echo '     ' CLEAN impl_vmx
166endif
167
168
169distclean: clean
170	-rm -f Makefile
171
172