1 ACLOCAL_AMFLAGS = -I m4
2 EXTRA_DIST = m4/gnulib-cache.m4 doc/jellyfish.pdf doc/jellyfish.man README LICENSE HalfLICENSE
3 man1_MANS = doc/jellyfish.man
5 pkgconfigdir = $(libdir)/pkgconfig
6 pkgconfig_DATA = jellyfish-1.1.pc
9 AM_CPPFLAGS = -Wall -Werror -Wnon-virtual-dtor -I$(top_srcdir)
13 bin_PROGRAMS = bin/jellyfish
14 lib_LTLIBRARIES = libjellyfish.la
15 check_PROGRAMS = bin/generate_sequence bin/test_double_fifo_input \
18 ########################################
19 # Build Jellyfish the exec
20 ########################################
21 bin_jellyfish_SOURCES = jellyfish/jellyfish.cc jellyfish/stats_main.cc \
22 jellyfish/hash_merge.cc jellyfish/storage.cc jellyfish/misc.cc \
23 jellyfish/err.cc jellyfish/mer_counter.cc jellyfish/histo_main.cc \
24 jellyfish/dump_main.cc jellyfish/time.cc jellyfish/thread_exec.cc \
25 jellyfish/query_main.cc jellyfish/square_binary_matrix.cc \
26 jellyfish/dump_fastq_main.cc jellyfish/histo_fastq_main.cc \
27 jellyfish/cite.cc jellyfish/parse_dna.cc jellyfish/file_parser.cc \
28 jellyfish/parse_quake.cc jellyfish/parse_qual_dna.cc \
29 jellyfish/sequence_parser.cc jellyfish/seq_qual_parser.cc \
30 jellyfish/half.cpp jellyfish/hash_fastq_merge.cc jellyfish/dbg.cc \
31 jellyfish/mapped_file.cc jellyfish/backtrace.cc jellyfish/floats.cc \
32 jellyfish/allocators_mmap.cc jellyfish/yaggo.cpp
34 EXTRA_DIST += jellyfish/cite_cmdline.hpp jellyfish/query_cmdline.hpp \
35 jellyfish/hash_merge_cmdline.hpp jellyfish/histo_main_cmdline.hpp \
36 jellyfish/stats_main_cmdline.hpp \
37 jellyfish/histo_fastq_main_cmdline.hpp \
38 jellyfish/dump_fastq_main_cmdline.hpp \
39 jellyfish/count_main_cmdline.hpp \
40 jellyfish/hash_fastq_merge_cmdline.hpp \
41 jellyfish/dump_main_cmdline.hpp jellyfish/double_fifo_input.hpp \
42 jellyfish/simple_growing_array.hpp jellyfish/backtrace.hpp \
43 jellyfish/noop_dumper.hpp jellyfish/yaggo.hpp \
44 jellyfish/fstream_default.hpp
46 ########################################
47 # Build Jellyfish the shared library
48 ########################################
49 libjellyfish_la_LDFLAGS = -version-info 1:0:0
50 libjellyfish_la_SOURCES = jellyfish/square_binary_matrix.cc \
51 jellyfish/err.cc jellyfish/misc.cc \
52 jellyfish/storage.cc \
53 jellyfish/thread_exec.cc jellyfish/time.cc \
54 jellyfish/file_parser.cc \
55 jellyfish/read_parser.cc \
56 jellyfish/parse_read.cc jellyfish/half.cpp \
57 jellyfish/mapped_file.cc \
58 jellyfish/parse_dna.cc \
59 jellyfish/parse_quake.cc \
60 jellyfish/parse_qual_dna.cc \
61 jellyfish/sequence_parser.cc \
62 jellyfish/seq_qual_parser.cc \
63 jellyfish/backtrace.cc jellyfish/floats.cc \
65 jellyfish/allocators_mmap.cc
66 libjellyfish_la_CPPFLAGS = $(AM_CPPFLAGS)
67 library_includedir=$(includedir)/jellyfish-@PACKAGE_VERSION@/jellyfish
68 library_include_HEADERS = jellyfish/allocators_malloc.hpp \
69 jellyfish/allocators_mmap.hpp \
70 jellyfish/allocators_shm.hpp jellyfish/atomic_gcc.hpp \
71 jellyfish/compacted_dumper.hpp \
72 jellyfish/compacted_hash.hpp \
73 jellyfish/concurrent_queues.hpp \
74 jellyfish/direct_indexing_array.hpp \
75 jellyfish/direct_sorted_dumper.hpp jellyfish/divisor.hpp \
76 jellyfish/dumper.hpp jellyfish/hash_function.hpp \
77 jellyfish/hash.hpp jellyfish/heap.hpp \
78 jellyfish/invertible_hash_array.hpp \
79 jellyfish/locking_hash_counters.hpp \
80 jellyfish/locks_pthread.hpp jellyfish/mapped_file.hpp \
81 jellyfish/mer_counting.hpp jellyfish/err.hpp \
82 jellyfish/misc.hpp jellyfish/offsets_key_value.hpp \
83 jellyfish/reversible_hash_function.hpp \
84 jellyfish/sorted_dumper.hpp \
85 jellyfish/square_binary_matrix.hpp jellyfish/storage.hpp \
86 jellyfish/thread_exec.hpp jellyfish/time.hpp \
87 jellyfish/token_ring.hpp jellyfish/raw_dumper.hpp \
88 jellyfish/capped_integer.hpp \
89 jellyfish/aligned_values_array.hpp \
90 jellyfish/fastq_dumper.hpp jellyfish/floats.hpp \
91 jellyfish/circular_buffer.hpp jellyfish/counter.hpp \
92 jellyfish/parse_quake.hpp jellyfish/parse_dna.hpp \
93 jellyfish/parse_qual_dna.hpp jellyfish/file_parser.hpp \
94 jellyfish/sequence_parser.hpp \
95 jellyfish/seq_qual_parser.hpp \
96 jellyfish/double_fifo_input.hpp \
97 jellyfish/read_parser.hpp jellyfish/parse_read.hpp \
98 jellyfish/simple_growing_array.hpp jellyfish/toFloat.h \
99 jellyfish/eLut.h jellyfish/dbg.hpp jellyfish/half.h \
100 jellyfish/backtrace.hpp
102 ########################################
104 ########################################
105 bin_generate_sequence_SOURCES = jellyfish/generate_sequence.cc jellyfish/misc.cc \
106 jellyfish/mersenne.cpp \
107 jellyfish/square_binary_matrix.cc \
108 jellyfish/backtrace.cc jellyfish/dbg.cc jellyfish/time.cc
109 bin_test_double_fifo_input_SOURCES = jellyfish/test_double_fifo_input.cc \
110 jellyfish/parse_dna.cc jellyfish/file_parser.cc \
111 jellyfish/sequence_parser.cc \
112 jellyfish/backtrace.cc jellyfish/thread_exec.cc \
113 jellyfish/dbg.cc jellyfish/time.cc \
114 jellyfish/allocators_mmap.cc
115 bin_test_read_parser_SOURCES = jellyfish/test_read_parser.cc jellyfish/file_parser.cc \
116 jellyfish/read_parser.cc jellyfish/parse_read.cc \
117 jellyfish/dbg.cc jellyfish/backtrace.cc jellyfish/time.cc
118 EXTRA_DIST += jellyfish/randomc.h jellyfish/generate_sequence_cmdline.hpp
120 ########################################
122 ########################################
123 TEST_EXTENSIONS = .sh
124 SH_LOG_COMPILER = /bin/sh
127 TESTS = tests/generate_sequence.sh tests/serial_hashing.sh \
128 tests/parallel_hashing.sh tests/serial_direct_indexing.sh \
129 tests/parallel_direct_indexing.sh tests/raw_hash.sh \
130 tests/generate_fastq_sequence.sh \
131 tests/parallel_fastq_hashing.sh tests/multi_file.sh \
132 tests/multi_file_fastq.sh tests/from_stream.sh \
133 tests/parallel_fastq_sequence_hashing.sh \
134 tests/from_stream_fastq.sh tests/merge.sh tests/min_qual.sh \
135 tests/big.sh tests/parsers.sh
137 EXTRA_DIST += $(TESTS)
138 clean-local: clean-local-check
139 .PHONY: clean-local-check
141 -cd tests; rm -f seq10m* seq1m* *_0 *_1 *_2 *.md5sum *.histo *.stats *.timing *.query *.dump *.fa
143 tests/serial_hashing.log: tests/generate_sequence.log
144 tests/parallel_hashing.log: tests/generate_sequence.log
145 tests/serial_direct_indexing.log: tests/generate_sequence.log
146 tests/parallel_direct_indexing.log: tests/generate_sequence.log
147 tests/multi_file.log: tests/generate_sequence.log
148 tests/raw_hash.log: tests/generate_sequence.log
149 tests/from_stream.log: tests/generate_sequence.log
150 tests/parallel_fastq_hashing.log: tests/generate_fastq_sequence.log
151 tests/parallel_fastq_sequence_hashing.log: tests/generate_fastq_sequence.log
152 tests/multi_file_fastq.log: tests/generate_fastq_sequence.log
153 tests/from_stream_fastq.log: tests/generate_fastq_sequence.log
154 tests/merge.log: tests/generate_fastq_sequence.log
155 tests/min_qual.log: tests/generate_fastq_sequence.log
156 tests/parsers.log: tests/generate_sequence.log
158 ########################################
160 ########################################
161 TESTS += unit_tests/unit_tests.sh
162 check_PROGRAMS += bin/test_offsets_key_value
164 bin_test_offsets_key_value_SOURCES = unit_tests/test_offsets_key_value.cc
165 bin_test_offsets_key_value_CXXFLAGS = -I$(top_srcdir)/unit_tests/gtest/include -I$(top_srcdir)/unit_tests/gtest
166 bin_test_offsets_key_value_LDADD = libgtest_main.la