source: trunk/test/Makefile.am @ 3898

Last change on this file since 3898 was 3898, checked in by Peter, 4 years ago

closes #858 and #869

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.5 KB
Line 
1## $Id: Makefile.am 3898 2020-03-31 02:02:42Z peter $
2
3# Copyright (C) 2003 Daniel Dalevi, Jari Häkkinen
4# Copyright (C) 2004 Jari Häkkinen, Peter Johansson, Cecilia Ritz
5# Copyright (C) 2005 Jari Häkkinen, Peter Johansson
6# Copyright (C) 2006, 2007, 2008 Jari Häkkinen, Peter Johansson, Markus Ringnér
7# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Peter Johansson
8#
9# This file is part of the yat library, http://dev.thep.lu.se/yat
10#
11# The yat library is free software; you can redistribute it
12# and/or modify it under the terms of the GNU General Public License as
13# published by the Free Software Foundation; either version 3 of the
14# License, or (at your option) any later version.
15#
16# The yat library is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19# General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with yat. If not, see <http://www.gnu.org/licenses/>.
23
24## we use suffix .cc for all source
25AM_DEFAULT_SOURCE_EXT = .cc
26
27noinst_HEADERS = test/Suite.h
28
29check_LTLIBRARIES = test/libyattest.la
30
31check_SCRIPTS = test/defs.sh
32
33EXTRA_DIST += test/init.sh
34
35EXTRA_PROGRAMS = test/alignment.test \
36  test/alignment2.test \
37  test/averager.test \
38  test/averager1.test \
39  test/averager3.test \
40  test/averager4.test \
41  test/bam.test \
42  test/bam_pair.test \
43  test/bam_pair_analyse.test \
44  test/bam_iterator.test \
45  test/bam_read_filter.test \
46  test/bam_region_iterator.test \
47  test/bam_header.test \
48  test/bam_header2.test \
49  test/bam_pair_iterator.test \
50  test/bam_pair_iterator2.test \
51  test/random_distribution.test \
52  test/chi2.test \
53  test/cigar.test \
54  test/cigar2.test \
55  test/cigar_iterator.test \
56  test/codon.test test/commandline.test \
57  test/concept.test \
58  test/consensus_inputranker.test \
59  test/copy_k_of_n.test \
60  test/data_lookup_1d.test  \
61  test/data_weight.test test/data_weight_proxy.test \
62  test/deleter.test \
63  test/diagonal_matrix.test \
64  test/distance.test \
65  test/dna.test \
66  test/dna_reverse_complement.test \
67  test/ensemble.test \
68  test/fasta.test \
69  test/feature_selection.test \
70  test/fileutil.test \
71  test/fisher.test \
72  test/gaussian_mixture.test \
73  test/genomic_position.test test/getline_iterator.test \
74  test/getvector.test \
75  test/gff.test test/help.test test/histogram.test \
76  test/igp.test test/index.test test/inputranker.test test/interpolation.test \
77  test/iterator.test test/kendall.test test/kernel_lookup.test \
78  test/kernel_matrix.test \
79  test/kernel_pca.test test/kernel.test \
80  test/knn.test test/kolmogorov_smirnov.test test/large_file.test \
81  test/libbam.test \
82  test/likelihood_ratio_test_binomial.test \
83  test/matrix_lookup.test \
84  test/matrix_lookup_weighted.test test/matrix.test \
85  test/matrix_expression.test \
86  test/matrix_weighted.test test/merge.test \
87  test/merge_iterator.test test/nbc.test \
88  test/ncc.test \
89  test/negative_binomial.test \
90  test/negative_binomial_distribution.test \
91  test/nni.test test/normalization.test \
92  test/ostream_iterator.test \
93  test/pca.test \
94  test/perceptron.test \
95  test/phred.test \
96  test/pileup.test \
97  test/print_what.test \
98  test/priority_queue.test \
99  test/poisson.test \
100  test/queue.test test/queue2.test \
101  test/range.test test/regression.test test/rnd.test \
102  test/rng-mt.test \
103  test/roc.test \
104  test/score.test \
105  test/scheduler.test \
106  test/scheduler2.test \
107  test/scheduler3.test \
108  test/scheduler4.test \
109  test/scheduler5.test \
110  test/scheduler6.test \
111  test/scheduler7.test \
112  test/segment.test test/smart_ptr.test \
113  test/smith_waterman.test \
114  test/smoother.test test/spearman.test \
115  test/split.test test/statistics.test test/stream_redirect.test \
116  test/subset_generator.test test/svd.test test/svm.test \
117  test/svm_multi_class.test test/target.test \
118  test/ttest.test test/tukey.test \
119  test/utility.test test/vector.test test/version.test \
120  test/weighted_iterator_archetype.test \
121  test/vcf.test \
122  test/vcf_compare.test \
123  test/vcf_file.test \
124  test/vcf_file2.test \
125  test/vcf_header.test \
126  test/vector_expression.test \
127  test/view.test
128
129CLEANFILES += $(EXTRA_PROGRAMS)
130
131# tests not passing through yet
132XFAIL_TESTS =
133
134DISTRIBUTED_TESTS = \
135test/cmd_test.sh \
136test/doxygen_test.sh \
137test/help_test.sh \
138test/yat_config_test.sh \
139test/yat_config_cblas_test.sh \
140test/yat_cpp_add_flag_test.sh \
141test/yat_cxx_add_flag_test.sh \
142test/yat_header_assert_test.sh \
143test/yat_ld_add_flag_test.sh \
144test/yat_have_svn_wc_test.sh \
145test/yat_lt_compile_ifelse_test.sh \
146test/yat_lt_link_ifelse_test.sh \
147test/yat_lt_link_la_ifelse_test.sh \
148test/yat_msg_error_test.sh \
149test/yat_msg_error_test2.sh \
150test/yat_m4_with_bam_test.sh \
151test/yat_m4_test.sh \
152test/yat_m4_test2.sh \
153test/yat_pc_test.sh \
154test/yat_prog_move_if_change_test.sh \
155test/yat_revision_header_test.sh \
156test/yat_svn_release_year_test.sh \
157test/yat_svn_revision_test.sh \
158test/yat_use_libtool_tag_test.sh
159
160TESTS = $(DISTRIBUTED_TESTS) $(EXTRA_PROGRAMS)
161EXTRA_DIST += $(DISTRIBUTED_TESTS)
162
163TEST_EXTENSIONS = .sh .test
164
165LDADD = yat/libyat.la test/libyattest.la $(YAT_LIBS)
166
167#test_large_file_test_LDADD = test/libyattest.la
168
169test_libyattest_la_LIBADD = yat/libyat.la
170test_libyattest_la_SOURCES = test/Suite.cc
171
172lazycheck:; $(MAKE) $(AM_MAKEFLAGS) check RECHECK_LOGS=
173
174shell_test_deps = $(srcdir)/test/init.sh test/defs.sh
175
176# dependencies for lazycheck
177test/bam.log: test/data/foo.sorted.bam
178test/bam_header.log: test/data/foo.sorted.bam
179test/bam_header2.log: test/data/foo.sorted.bam
180test/bam_iterator.log: test/data/foo.sorted.bam
181test/bam_pair_analyse.log: test/data/foo.sorted.bam
182test/bam_pair_iterator.log: test/data/foo.sorted.bam
183test/bam_read_filter.log: test/data/foo.sorted.bam
184test/bam_region_iterator.log: test/data/foo.sorted.bam
185test/cmd_test.log: test/help.test $(shell_test_deps)
186test/help_test.log: test/help.test $(shell_test_deps)
187test/pileup.log: test/data/foo.sorted.bam
188test/static_test.log: $(srcdir)/m4/yat.m4 $(shell_test_deps)
189
190test/vcf_file.log: $(srcdir)/test/data/foo.vcf
191test/vcf_file2.log: test/data/foo.vcf.gz
192
193test/yat_config_test.log: build_support/yat-config \
194  build_support/for_installation/yat-config $(shell_test_deps)
195test/yat_config_cblas_test.log: build_support/yat-config $(shell_test_deps)
196test/yat_cpp_add_flag_test.log: $(srcdir)/m4/yat_add_flag.m4 \
197  $(srcdir)/m4/ax_append_flag.m4 \
198  $(srcdir)/m4/ax_check_preproc_flag.m4 \
199  $(shell_test_deps)
200test/yat_cxx_add_flag_test.log: $(top_srcdir)/m4/yat_add_flag.m4 \
201  $(top_srcdir)/m4/ax_append_compile_flags.m4 \
202  $(top_srcdir)/m4/ax_append_flag.m4 \
203  $(top_srcdir)/m4/ax_check_compile_flag.m4 \
204  $(top_srcdir)/m4/ax_require_defined.m4 \
205  $(shell_test_deps)
206test/yat_have_svn_wc_test.log: $(srcdir)/m4/yat_am_macros.m4 $(shell_test_deps)
207test/yat_ld_add_flag_test.log: $(top_srcdir)/m4/yat_add_flag.m4 \
208  $(top_srcdir)/m4/ax_append_flag.m4 \
209  $(top_srcdir)/m4/ax_append_link_flags.m4 \
210  $(top_srcdir)/m4/ax_check_link_flag.m4 \
211  $(top_srcdir)/m4/ax_require_defined.m4 \
212  $(shell_test_deps)
213test/yat_lt_compile_ifelse_test.log: $(shell_test_deps) \
214  $(top_srcdir)/m4/yat_lt_link_ifelse.m4
215test/yat_lt_link_ifelse_test.log: $(top_srcdir)/m4/yat_lt_link_ifelse.m4 \
216  $(top_srcdir)/m4/yat.m4 $(shell_test_deps) \
217  $(top_builddir)/build_support/yat-config
218test/yat_lt_link_la_ifelse_test.log: $(shell_test_deps) \
219  test/lib/libmy-shared.la \
220  $(top_srcdir)/m4/yat_lt_link_ifelse.m4 \
221  $(top_srcdir)/m4/yat_common.m4
222test/yat_m4_test.log:$(top_srcdir)/m4/yat.m4 $(shell_test_deps) \
223  $(top_builddir)/build_support/yat-config
224test/yat_m4_test2.log:$(top_srcdir)/m4/yat.m4 $(shell_test_deps)
225test/yat_msg_error_test.log:$(srcdir)/m4/yat_msg_error.m4 $(shell_test_deps)
226test/yat_msg_error_test2.log:$(srcdir)/m4/yat_msg_error.m4 $(shell_test_deps)
227test/yat_pc_test.log: $(shell_test_deps) build_support/yat.pc
228test/yat_prog_move_if_change_test.log: $(top_srcdir)/m4/yat_am_macros.m4 \
229  $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
230  $(top_srcdir)/m4/ax_ac_print_to_file.m4 \
231  $(top_srcdir)/m4/ax_file_escapes.m4 \
232  $(shell_test_deps)
233test/yat_revision_header_test.log: $(top_srcdir)/m4/yat_am_macros.m4 \
234  $(shell_test_deps) \
235  $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
236  $(top_srcdir)/m4/ax_ac_print_to_file.m4 \
237  $(top_srcdir)/m4/ax_file_escapes.m4
238test/yat_svn_release_year_test.log: $(top_srcdir)/m4/yat_am_macros.m4 \
239  $(shell_test_deps) \
240  $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
241  $(top_srcdir)/m4/ax_ac_print_to_file.m4 \
242  $(top_srcdir)/m4/ax_file_escapes.m4
243test/yat_svn_revision_test.log: $(top_srcdir)/m4/yat_am_macros.m4 \
244  $(shell_test_deps) \
245  $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
246  $(top_srcdir)/m4/ax_ac_print_to_file.m4 \
247  $(top_srcdir)/m4/ax_file_escapes.m4
248test/yat_use_libtool_tag_test.log: $(shell_test_deps) \
249  $(top_srcdir)/m4/yat_lt_link_ifelse.m4
250
251if DX_ENABLE_HTML
252test/doxygen_test.log: doc/$(DX_HTML_OUTPUT)/index.html
253endif
254
255# yat-hello is an example of a tiny package that uses yat
256dist_noinst_DATA = $(srcdir)/test/yat-hello-1.0.tar.gz
257
258# Directory yat-hello contains what a developer would check out
259# from a VCS, i.e., no files generated by autotools.
260yat_hello_sources  =
261yat_hello_sources += $(srcdir)/test/yat-hello/configure.ac
262yat_hello_sources += $(srcdir)/test/yat-hello/Makefile.am
263yat_hello_sources += $(srcdir)/test/yat-hello/hello.cc
264
265EXTRA_DIST += $(yat_hello_sources)
266
267yat_hello_tmp_files =
268yat_hello_tmp_files += Makefile.in
269yat_hello_tmp_files += autom4te.cache
270yat_hello_tmp_files += aclocal.m4
271yat_hello_tmp_files += build-aux
272yat_hello_tmp_files += configure
273yat_hello_tmp_files += config.h.in
274yat_hello_tmp_files += m4
275
276
277yat_hello_deps = $(yat_hello_sources)
278yat_hello_deps += $(top_srcdir)/m4/yat.m4
279## We depend on version.m4 so tarball is updated at every release (at least)
280yat_hello_deps += $(top_srcdir)/m4/version.m4
281
282$(srcdir)/test/yat-hello-1.0.tar.gz: $(yat_hello_deps)
283  $(AM_V_GEN)$(MKDIR_P) $(srcdir)/test/yat-hello/m4 \
284  && cd $(srcdir)/test/yat-hello \
285  && cp $(abs_top_srcdir)/m4/yat.m4 m4/ \
286  && autoreconf -if $(yat_dev_null) \
287  && ./configure --without-yat $(yat_dev_null) \
288  && $(MAKE) $(AM_MAKEFLAGS) dist $(yat_dev_null) \
289  && $(MAKE) $(AM_MAKEFLAGS) distclean $(yat_dev_null) \
290  && mv yat-hello-1.0.tar.gz .. \
291  && rm -rf $(yat_hello_tmp_files)
292
293INSTALL_CHECK_TARGETS += yat-hello-check
294
295yat-hello-check: $(srcdir)/test/yat-hello-1.0.tar.gz
296  GZIP=$(GZIP_ENV) gzip -dc $(srcdir)/test/yat-hello-1.0.tar.gz | $(am__untar)\
297  && cd yat-hello-1.0 \
298  && ./configure --with-yat=$(bindir) \
299  && $(MAKE) $(AM_MAKEFLAGS) all \
300  && ./hello \
301  && test x"`./hello`" = x"$(VERSION)" \
302  && cd .. \
303  && rm -rf yat-hello-1.0
304
305
306## test data
307EXTRA_DIST += \
308test/data/foo.sam \
309test/data/foo.vcf \
310test/data/isoform.peaks \
311test/data/knni_matrix.data \
312test/data/knni_result.data \
313test/data/knni_weight.data \
314test/data/nm_alpha_linear_matlab.txt \
315test/data/nm_data_centralized.txt \
316test/data/nm_kernel.txt \
317test/data/nm_kernel2.txt \
318test/data/nm_kernel_gaussian.txt \
319test/data/nm_target_bin.txt \
320test/data/normalization_test.data \
321test/data/rank_data.txt \
322test/data/rank_target.txt \
323test/data/regression_gauss.data \
324test/data/small.gff2 \
325test/data/small.gff3 \
326test/data/sorlie_centroid_classes.txt \
327test/data/sorlie_centroid_data.txt  \
328test/data/sorlie_centroid_predictions.txt \
329test/data/sorlie_centroids.txt \
330test/data/vector1.data  \
331test/data/vector2.data \
332test/data/vector3.data \
333test/data/vector4.data \
334test/data/vector5.data \
335test/data/vector6.data  \
336test/data/vector7.data \
337test/data/wenni_result.data \
338test/data/wenni_weight.data
339
340CLEANFILES += test/data/.dirstamp
341CLEANFILES += test/data/foo.sorted.bam
342CLEANFILES += test/data/foo.sorted.bam.bai
343CLEANFILES += test/data/foo.fasta
344CLEANFILES += test/data/foo.fasta.fai
345CLEANFILES += test/data/foo.vcf.gz
346
347check_DATA  = test/data/foo.sorted.bam
348check_DATA += test/data/foo.sorted.bam.bai
349check_DATA += test/data/foo.fasta
350check_DATA += test/data/foo.fasta.fai
351check_DATA += test/data/foo.vcf.gz
352
353test/data/.dirstamp:
354  @$(MKDIR_P) test/data
355  @: > $@
356
357if HAVE_SAMTOOLS_EXECUTABLE
358# depend on config.h to ensure rule is triggered when
359# HAVE_SAMTOOLS_EXECUTABLE has changed and possible (empty) dummy bam
360# file is replaced with a proper one.
361test/data/foo.sorted.bam: test/data/.dirstamp test/data/foo.sam config.h
362  $(AM_V_GEN)
363  $(AM_V_at)$(SAMTOOLS) sort -T foo -o $@ $(srcdir)/test/data/foo.sam
364
365test/data/foo.sorted.bam.bai: test/data/foo.sorted.bam
366  $(AM_V_GEN)
367  $(AM_V_at)$(SAMTOOLS) index test/data/foo.sorted.bam
368
369else
370test/data/foo.sorted.bam: test/data/.dirstamp
371  $(AM_V_at): > $@
372
373test/data/foo.sorted.bam.bai: test/data/.dirstamp
374  $(AM_V_at): > $@
375endif
376
377if HAVE_SAMTOOLS_FASTA_EXECUTABLE
378test/data/foo.fasta: test/data/foo.sorted.bam
379  $(AM_V_GEN)
380  $(AM_V_at)$(SAMTOOLS) fasta test/data/foo.sorted.bam > $@
381
382test/data/foo.fasta.fai: test/data/foo.fasta
383  $(AM_V_GEN)
384  $(AM_V_at)$(SAMTOOLS) faidx test/data/foo.fasta
385
386else
387test/data/foo.fasta: test/data/.dirstamp
388  $(AM_V_at): > $@
389
390test/data/foo.fasta.fai: test/data/.dirstamp
391  $(AM_V_at): > $@
392endif
393
394if HAVE_BCFTOOLS_EXECUTABLE
395test/data/foo.vcf.gz: test/data/.dirstamp test/data/foo.vcf
396  $(AM_V_GEN)
397  $(AM_V_at)$(BCFTOOLS) view $(srcdir)/test/data/foo.vcf -O z > $@
398else
399test/data/foo.vcf.gz: test/data/.dirstamp
400  $(AM_V_at): > $@
401endif
402
403test/lib/.dirstamp:
404  @$(MKDIR_P) test/lib
405  @: > $@
406
407check_DATA += test/lib/libmy-static.a
408EXTRA_DIST += test/gen_libmy_static.sh
409
410test/lib/libmy-static.a: test/lib/.dirstamp test/gen_libmy_static.sh \
411test/defs.sh
412  $(AM_V_GEN)
413  $(AM_V_at)$(SHELL) $(srcdir)/test/gen_libmy_static.sh $(yat_dev_null)
414
415check_DATA += test/lib/libmy-shared.la
416EXTRA_DIST += test/gen_libmy_shared.sh
417
418test/lib/libmy-shared.la: test/lib/.dirstamp test/gen_libmy_shared.sh \
419test/defs.sh
420  $(AM_V_GEN)
421  $(AM_V_at)$(SHELL) $(srcdir)/test/gen_libmy_shared.sh $(yat_dev_null)
Note: See TracBrowser for help on using the repository browser.