Merge tag 'upstream/1.2.2' into tizen_base
[platform/upstream/libsndfile.git] / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/include $(OS_SPECIFIC_CFLAGS)
4
5 DISTCHECK_CONFIGURE_FLAGS = --enable-werror
6
7 CLEANFILES = programs/*.wav octave-workspace
8
9 if FULL_SUITE
10 if BUILD_OCTAVE_MOD
11 SUBDIRS = Octave
12 endif
13 endif
14
15 EXTRA_DIST = sndfile.pc.in Scripts/android-configure.sh \
16         NEWS.OLD CHANGELOG.md Scripts/linux-to-win-cross-configure.sh \
17         CMakeLists.txt $(cmake_files) Win32 SECURITY.md
18
19 cmake_files = cmake/ClipMode.cmake cmake/FindFLAC.cmake \
20         cmake/CMakeAutoGen.cmake cmake/CMakeAutoGenScript.cmake \
21         cmake/FindOgg.cmake cmake/FindVorbis.cmake cmake/FindSndio.cmake \
22         cmake/FindSpeex.cmake cmake/sqlite/FindSQLite3.cmake \
23         cmake/SndFileChecks.cmake cmake/TestInline.cmake \
24         cmake/TestLargeFiles.cmake cmake/TestInline.c.in \
25         cmake/FindOpus.cmake cmake/SndFileConfig.cmake.in \
26         cmake/CheckCPUArch.cmake cmake/CheckCPUArch.c.in \
27         cmake/Findmp3lame.cmake cmake/Findmpg123.cmake \
28         cmake/SetupABIVersions.cmake
29
30 pkgconfig_DATA = sndfile.pc
31
32 noinst_PROGRAMS =
33
34 #===============================================================================
35
36 test: check
37
38 # Need this target to force building of test programs.
39 checkprograms: $(check_PROGRAMS)
40
41 ########
42 # src/ #
43 ########
44
45 BUILT_SOURCES = src/test_endswap.c
46
47 SYMBOL_FILES = src/Symbols.gnu-binutils src/Symbols.darwin src/libsndfile-1.def src/Symbols.os2 src/Symbols.static
48
49 EXTRA_DIST += src/config.h.in src/test_endswap.tpl src/test_endswap.def \
50         $(SYMBOL_FILES) src/create_symbols_file.py src/binheader_writef_check.py \
51         src/make-static-lib-hidden-privates.sh \
52         src/config.h.cmake
53
54 if USE_WIN_VERSION_FILE
55 WIN_VERSION_FILE = src/version-metadata.rc
56 else
57 WIN_VERSION_FILE =
58 endif
59
60 #===============================================================================
61
62 lib_LTLIBRARIES = src/libsndfile.la
63 include_HEADERS = include/sndfile.h include/sndfile.hh
64 src_libsndfile_la_CFLAGS = $(EXTERNAL_XIPH_CFLAGS) $(MPEG_CFLAGS)
65 # MinGW requires -no-undefined if a DLL is to be built.
66 src_libsndfile_la_LDFLAGS = -no-undefined -version-info $(SHARED_VERSION_INFO) $(SHLIB_VERSION_ARG)
67 src_libsndfile_la_SOURCES = src/sndfile.c src/aiff.c src/au.c src/avr.c src/dwd.c src/flac.c src/htk.c src/ircam.c \
68         src/macos.c src/mat4.c src/mat5.c src/nist.c src/paf.c src/pvf.c src/raw.c src/rx2.c src/sd2.c \
69         src/sds.c src/svx.c src/txw.c src/voc.c src/wve.c src/w64.c src/wavlike.c src/wav.c src/xi.c src/mpc2k.c src/rf64.c \
70         src/ogg.c src/ogg.h src/ogg_vorbis.c src/ogg_speex.c src/ogg_pcm.c src/ogg_opus.c src/ogg_vcomment.c src/ogg_vcomment.h \
71         src/common.h src/sfconfig.h src/sfendian.h src/wavlike.h src/sf_unistd.h src/chanmap.h src/mpeg.c
72 nodist_src_libsndfile_la_SOURCES = $(nodist_include_HEADERS)
73 src_libsndfile_la_LIBADD = \
74         src/libcommon.la $(EXTERNAL_XIPH_LIBS) -lm $(MPEG_LIBS)
75 EXTRA_src_libsndfile_la_DEPENDENCIES = $(SYMBOL_FILES)
76
77 noinst_LTLIBRARIES = src/libcommon.la
78 src_libcommon_la_CFLAGS = $(EXTERNAL_XIPH_CFLAGS) $(MPEG_CFLAGS)
79 src_libcommon_la_SOURCES = src/common.c src/file_io.c src/command.c src/pcm.c src/ulaw.c src/alaw.c \
80         src/float32.c src/double64.c src/ima_adpcm.c src/ms_adpcm.c src/dwvw.c src/vox_adpcm.c \
81         src/interleave.c src/strings.c src/dither.c src/cart.c src/broadcast.c src/audio_detect.c \
82         src/ima_oki_adpcm.c src/ima_oki_adpcm.h src/chunk.c src/chanmap.c \
83         src/windows.c src/id3.c src/id3.h src/nms_adpcm.c src/mpeg_decode.c src/mpeg_l3_encode.c src/mpeg.h $(WIN_VERSION_FILE)
84
85 check_PROGRAMS = src/test_main
86 src_test_main_SOURCES = src/test_main.c src/test_main.h src/test_conversions.c src/test_float.c src/test_endswap.c \
87         src/test_audio_detect.c src/test_log_printf.c src/test_file_io.c src/test_ima_oki_adpcm.c \
88         src/test_strncpy_crlf.c src/test_broadcast_var.c src/test_cart_var.c \
89         src/test_binheader_writef.c src/test_nms_adpcm.c
90 src_test_main_LDADD = src/libcommon.la
91
92 #===============================================================================
93 # Generate an OS specific Symbols files. This is done when the author
94 # builds the distribution tarball. There should be not need for the
95 # end user to create these files.
96
97 # "$<" cannot portably be used in the recipe across Make implementations
98 # https://www.gnu.org/software/autoconf/manual/autoconf.html#g_t_0024_003c-in-Ordinary-Make-Rules
99 SYMBOL_SCRIPT = $(top_srcdir)/src/create_symbols_file.py
100
101 src/Symbols.gnu-binutils: $(SYMBOL_SCRIPT)
102         $(PYTHON) $(SYMBOL_SCRIPT) linux $(ABI_VERSION) > $(top_srcdir)/$@
103
104 src/Symbols.darwin: $(SYMBOL_SCRIPT)
105         $(PYTHON) $(SYMBOL_SCRIPT) darwin $(ABI_VERSION) > $(top_srcdir)/$@
106
107 src/libsndfile-1.def: $(SYMBOL_SCRIPT)
108         $(PYTHON) $(SYMBOL_SCRIPT) win32 $(ABI_VERSION) > $(top_srcdir)/$@
109
110 src/Symbols.os2: $(SYMBOL_SCRIPT)
111         $(PYTHON) $(SYMBOL_SCRIPT) os2 $(ABI_VERSION) > $(top_srcdir)/$@
112
113 src/Symbols.static: $(SYMBOL_SCRIPT)
114         $(PYTHON) $(SYMBOL_SCRIPT) static $(ABI_VERSION) > $(top_srcdir)/$@
115
116 #===============================================================================
117 # Building windows resource files (if needed).
118
119 .rc.lo:
120         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --tag=RC --mode=compile $(RC) $(RCFLAGS) $< -o $@
121
122 #===============================================================================
123 # Disable autoheader.
124 AUTOHEADER=echo
125
126 ########
127 # docs/ #
128 ########
129
130 if FULL_SUITE
131 dist_doc_DATA = docs/index.md docs/libsndfile.jpg docs/libsndfile.css docs/print.css docs/api.md \
132         docs/command.md docs/bugs.md docs/formats.md docs/sndfile_info.md docs/new_file_type_howto.md \
133         docs/win32.md docs/FAQ.md docs/lists.md docs/embedded_files.md docs/octave.md \
134         docs/tutorial.md
135 endif
136
137 #############
138 # examples/ #
139 #############
140
141 check_PROGRAMS += examples/make_sine examples/sfprocess examples/list_formats examples/generate examples/sndfilehandle \
142         examples/sndfile-to-text examples/sndfile-loopify
143
144 examples_sndfile_to_text_SOURCES = examples/sndfile-to-text.c
145 examples_sndfile_to_text_LDADD = src/libsndfile.la
146
147 examples_sndfile_loopify_SOURCES = examples/sndfile-loopify.c
148 examples_sndfile_loopify_LDADD = src/libsndfile.la
149
150 examples_make_sine_SOURCES = examples/make_sine.c
151 examples_make_sine_LDADD = src/libsndfile.la
152
153 examples_sfprocess_SOURCES = examples/sfprocess.c
154 examples_sfprocess_LDADD = src/libsndfile.la
155
156 examples_list_formats_SOURCES = examples/list_formats.c
157 examples_list_formats_LDADD = src/libsndfile.la
158
159 examples_generate_SOURCES = examples/generate.c
160 examples_generate_LDADD = src/libsndfile.la
161
162 examples_sndfilehandle_SOURCES = examples/sndfilehandle.cc
163 examples_sndfilehandle_LDADD = src/libsndfile.la
164
165 ##########
166 # tests/ #
167 ##########
168
169 TESTS_ENVIRONMENT = $(SHELL) tests/test_wrapper.sh
170
171 if ENABLE_TEST_COVERAGE
172 CPP_TEST =
173 else
174 CPP_TEST = tests/cpp_test
175 endif
176
177 TESTS = tests/pedantic-header-test.sh
178
179 check_PROGRAMS += tests/sfversion tests/floating_point_test tests/write_read_test \
180         tests/lossy_comp_test tests/error_test tests/ulaw_test tests/alaw_test tests/dwvw_test \
181         tests/peak_chunk_test tests/command_test tests/stdio_test \
182         tests/pcm_test tests/headerless_test tests/pipe_test tests/header_test tests/misc_test \
183         tests/raw_test tests/string_test tests/multi_file_test tests/chunk_test \
184         tests/scale_clip_test tests/win32_test tests/aiff_rw_test tests/virtual_io_test \
185         tests/locale_test tests/win32_ordinal_test tests/ogg_test tests/compression_size_test \
186         tests/checksum_test tests/external_libs_test tests/rdwr_test tests/format_check_test $(CPP_TEST) \
187         tests/channel_test tests/long_read_write_test tests/stdin_test tests/stdout_test \
188         tests/dither_test tests/fix_this tests/largefile_test tests/benchmark tests/ogg_opus_test \
189         tests/mpeg_test
190
191 BUILT_SOURCES += \
192         tests/write_read_test.c \
193         tests/pcm_test.c \
194         tests/header_test.c \
195         tests/utils.c \
196         tests/scale_clip_test.c \
197         tests/pipe_test.c \
198         tests/rdwr_test.c \
199         tests/floating_point_test.c \
200         tests/benchmark.c
201
202 EXTRA_DIST += $(BUILT_SOURCES) \
203         tests/write_read_test.tpl     tests/write_read_test.def \
204         tests/pcm_test.tpl            tests/pcm_test.def \
205         tests/header_test.tpl         tests/header_test.def \
206         tests/utils.tpl               tests/utils.def \
207         tests/scale_clip_test.tpl     tests/scale_clip_test.def \
208         tests/pipe_test.tpl           tests/pipe_test.def \
209         tests/rdwr_test.tpl           tests/rdwr_test.def \
210         tests/floating_point_test.tpl tests/floating_point_test.def \
211         tests/benchmark.tpl           tests/benchmark.def
212
213 # If we're cross compiling from Linux to Windows and running the test suite
214 # under Wine, we need a symbolic link to the generated libsndfile DLL.
215
216 if LINUX_MINGW_CROSS_TEST
217
218 $(check_PROGRAMS) : libsndfile-1.dll
219
220 libsndfile-1.dll :
221         $(LN_S) src/.libs/$@ $@
222
223 clean-local :
224         -rm -f libsndfile-1.dll
225
226 endif
227
228 #===============================================================================
229
230 tests_sfversion_SOURCES = tests/sfversion.c
231 tests_sfversion_LDADD = src/libsndfile.la
232
233 tests_write_read_test_SOURCES = tests/utils.c tests/generate.c tests/generate.h tests/write_read_test.c tests/utils.h
234 tests_write_read_test_LDADD = src/libsndfile.la
235
236 tests_lossy_comp_test_SOURCES = tests/utils.c tests/lossy_comp_test.c tests/utils.h
237 tests_lossy_comp_test_LDADD = src/libsndfile.la
238
239 tests_fix_this_SOURCES = tests/utils.c tests/fix_this.c tests/utils.h
240 tests_fix_this_LDADD = src/libsndfile.la
241
242 tests_error_test_SOURCES = tests/error_test.c tests/utils.c tests/utils.h
243 tests_error_test_LDADD = src/libsndfile.la
244
245 tests_ulaw_test_SOURCES = tests/utils.c tests/ulaw_test.c tests/utils.h
246 tests_ulaw_test_LDADD = src/libsndfile.la
247
248 tests_alaw_test_SOURCES = tests/utils.c tests/alaw_test.c tests/utils.h
249 tests_alaw_test_LDADD = src/libsndfile.la
250
251 tests_aiff_rw_test_SOURCES = tests/utils.c tests/aiff_rw_test.c tests/utils.h
252 tests_aiff_rw_test_LDADD = src/libsndfile.la
253
254 tests_command_test_SOURCES = tests/command_test.c tests/utils.c tests/utils.h
255 tests_command_test_LDADD = src/libsndfile.la
256
257 tests_locale_test_SOURCES = tests/locale_test.c tests/utils.c tests/utils.h
258 tests_locale_test_LDADD = src/libsndfile.la
259
260 tests_largefile_test_SOURCES = tests/largefile_test.c tests/utils.c tests/utils.h
261 tests_largefile_test_LDADD = src/libsndfile.la
262
263 tests_pcm_test_SOURCES = tests/pcm_test.c tests/utils.c tests/utils.h
264 tests_pcm_test_LDADD = src/libsndfile.la
265
266 tests_headerless_test_SOURCES = tests/utils.c tests/headerless_test.c tests/utils.h
267 tests_headerless_test_LDADD = src/libsndfile.la
268
269 tests_stdin_test_SOURCES = tests/stdin_test.c tests/utils.c tests/utils.h
270 tests_stdin_test_LDADD = src/libsndfile.la
271
272 tests_stdout_test_SOURCES = tests/stdout_test.c tests/utils.h
273 tests_stdout_test_LDADD = src/libsndfile.la
274
275 tests_stdio_test_SOURCES = tests/stdio_test.c tests/utils.c tests/utils.h
276 tests_stdio_test_LDADD = src/libsndfile.la
277
278 tests_pipe_test_SOURCES = tests/pipe_test.c tests/utils.c tests/utils.h
279 tests_pipe_test_LDADD = src/libsndfile.la
280
281 tests_benchmark_SOURCES = tests/benchmark.c tests/utils.h
282 tests_benchmark_LDADD = src/libsndfile.la
283
284 tests_header_test_SOURCES = tests/header_test.c tests/utils.c tests/utils.h
285 tests_header_test_LDADD = src/libsndfile.la
286
287 tests_misc_test_SOURCES = tests/misc_test.c tests/utils.c tests/utils.h
288 tests_misc_test_LDADD = src/libsndfile.la
289
290 tests_raw_test_SOURCES = tests/raw_test.c tests/utils.c tests/utils.h
291 tests_raw_test_LDADD = src/libsndfile.la
292
293 tests_string_test_SOURCES = tests/string_test.c tests/utils.c tests/utils.h
294 tests_string_test_LDADD = src/libsndfile.la
295
296 tests_dither_test_SOURCES = tests/dither_test.c tests/utils.c tests/utils.h
297 tests_dither_test_LDADD = src/libsndfile.la
298
299 tests_chunk_test_SOURCES = tests/chunk_test.c tests/utils.c tests/utils.h
300 tests_chunk_test_LDADD = src/libsndfile.la
301
302 tests_multi_file_test_SOURCES = tests/multi_file_test.c tests/utils.c tests/utils.h
303 tests_multi_file_test_LDADD = src/libsndfile.la
304
305 tests_virtual_io_test_SOURCES = tests/virtual_io_test.c tests/utils.c tests/utils.h
306 tests_virtual_io_test_LDADD = src/libsndfile.la
307
308 tests_ogg_test_SOURCES = tests/ogg_test.c tests/utils.c tests/utils.h
309 tests_ogg_test_LDADD = src/libsndfile.la
310
311 tests_ogg_opus_test_SOURCES = tests/ogg_opus_test.c tests/utils.c tests/utils.h
312 tests_ogg_opus_test_LDADD = src/libsndfile.la
313
314 tests_compression_size_test_SOURCES = tests/compression_size_test.c tests/utils.c tests/utils.h tests/dft_cmp.h
315 tests_compression_size_test_LDADD = src/libsndfile.la
316
317 tests_rdwr_test_SOURCES = tests/rdwr_test.c tests/utils.c tests/utils.h
318 tests_rdwr_test_LDADD = src/libsndfile.la
319
320 tests_win32_test_SOURCES = tests/win32_test.c
321 # Link lib here so that generating the testsuite tarball works correctly.
322 tests_win32_test_LDADD = src/libsndfile.la
323
324 tests_win32_ordinal_test_SOURCES = tests/win32_ordinal_test.c tests/utils.c tests/utils.h
325 tests_win32_ordinal_test_LDADD = src/libsndfile.la
326
327 tests_external_libs_test_SOURCES = tests/external_libs_test.c tests/utils.c tests/utils.h
328 tests_external_libs_test_LDADD = src/libsndfile.la
329
330 tests_format_check_test_SOURCES = tests/format_check_test.c tests/utils.c tests/utils.h
331 tests_format_check_test_LDADD = src/libsndfile.la
332
333 tests_channel_test_SOURCES = tests/channel_test.c tests/utils.c tests/utils.h
334 tests_channel_test_LDADD = src/libsndfile.la
335
336 tests_long_read_write_test_SOURCES = tests/long_read_write_test.c tests/utils.c tests/utils.h tests/dft_cmp.h
337 tests_long_read_write_test_LDADD = src/libsndfile.la
338
339 tests_cpp_test_SOURCES = tests/cpp_test.cc tests/utils.c tests/utils.h
340 tests_cpp_test_LDADD = src/libsndfile.la
341
342 tests_checksum_test_SOURCES = tests/checksum_test.c tests/utils.c tests/utils.h
343 tests_checksum_test_LDADD = src/libsndfile.la
344
345 tests_mpeg_test_SOURCES = tests/mpeg_test.c tests/utils.c tests/utils.h
346 tests_mpeg_test_LDADD = src/libsndfile.la
347
348 # Lite remove start
349 tests_dwvw_test_SOURCES = tests/dwvw_test.c tests/utils.c tests/utils.h
350 tests_dwvw_test_LDADD = src/libsndfile.la
351
352 tests_floating_point_test_SOURCES = tests/utils.c tests/utils.h tests/dft_cmp.c tests/dft_cmp.h tests/floating_point_test.c
353 tests_floating_point_test_LDADD = src/libsndfile.la
354
355 tests_peak_chunk_test_SOURCES = tests/peak_chunk_test.c tests/utils.c tests/utils.h
356 tests_peak_chunk_test_LDADD = src/libsndfile.la
357
358 tests_scale_clip_test_SOURCES = tests/scale_clip_test.c tests/utils.c tests/utils.h
359 tests_scale_clip_test_LDADD = src/libsndfile.la
360 # Lite remove end
361
362 #===============================================================================
363 # Autogen generated sources.
364 # Coerce the multiple inputs -> multiple outputs problem
365 # into suffix rules by "linearising" the dependency graph.
366 # Yes, this sucks, but GNU make patterns aren't portable,
367 # see also https://github.com/libsndfile/libsndfile/issues/369
368
369 SUFFIXES = .tpl .def
370
371 .tpl.def:
372         touch $@
373
374 # unconditionally running touch on the .def
375 # files is necessary to keep all timestamps
376 # consistent, in order to prevent stale files
377 # from calling autogen in tarball releases.
378 .def.c:
379         $(MAKE) $(AM_MAKEFLAGS) $<
380         cd $(top_srcdir)/$(@D) && autogen --writable $(<F)
381
382 # recommended Automake way for multi-output targets:
383 # https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html
384 tests/utils.h : tests/utils.c
385         @if test -f $@; then :; else \
386           cd $(top_srcdir) && \
387           rm -f tests/utils.c && \
388           $(MAKE) $(AM_MAKEFLAGS) tests/utils.c; \
389         fi
390
391 ########
392 # man/ #
393 ########
394
395 if FULL_SUITE
396 dist_man_MANS = man/sndfile-info.1 man/sndfile-play.1 man/sndfile-convert.1 man/sndfile-cmp.1 \
397         man/sndfile-metadata-get.1 man/sndfile-metadata-set.1 man/sndfile-concat.1 \
398         man/sndfile-interleave.1 man/sndfile-deinterleave.1 man/sndfile-salvage.1
399
400 # Same manpage for both programs.
401 man/sndfile-metadata-set.1: man/sndfile-metadata-get.1
402         -rm -f $@
403         cd $(top_srcdir)/man && $(LN_S) sndfile-metadata-get.1 sndfile-metadata-set.1
404
405 man/sndfile-deinterleave.1: man/sndfile-interleave.1
406         -rm -f $@
407         cd $(top_srcdir)/man && $(LN_S) sndfile-interleave.1 sndfile-deinterleave.1
408
409 ############
410 # ossfuzz/ #
411 ############
412
413 if USE_OSSFUZZ_FLAG
414 FUZZ_FLAG = $(LIB_FUZZING_ENGINE)
415 FUZZ_LDADD =
416 else
417 if USE_OSSFUZZ_STATIC
418 FUZZ_LDADD = $(LIB_FUZZING_ENGINE)
419 FUZZ_FLAG =
420 else
421 FUZZ_LDADD = libstandaloneengine.la
422 FUZZ_FLAG =
423 endif
424 endif
425
426 if USE_OSSFUZZERS
427 noinst_PROGRAMS += \
428         ossfuzz/sndfile_fuzzer \
429         ossfuzz/sndfile_alt_fuzzer
430
431 noinst_LTLIBRARIES += \
432         ossfuzz/libstandaloneengine.la
433 endif
434
435 ossfuzz_sndfile_fuzzer_SOURCES = ossfuzz/sndfile_fuzzer.cc
436 ossfuzz_sndfile_fuzzer_CXXFLAGS = $(AM_CXXFLAGS) $(FUZZ_FLAG)
437 ossfuzz_sndfile_fuzzer_LDFLAGS = $(AM_LDFLAGS) -static
438 ossfuzz_sndfile_fuzzer_LDADD = src/libsndfile.la $(FUZZ_LDADD)
439
440 ossfuzz_sndfile_alt_fuzzer_SOURCES = ossfuzz/sndfile_alt_fuzzer.cc
441 ossfuzz_sndfile_alt_fuzzer_CXXFLAGS = $(AM_CXXFLAGS) $(FUZZ_FLAG)
442 ossfuzz_sndfile_alt_fuzzer_LDFLAGS = $(AM_LDFLAGS) -static
443 ossfuzz_sndfile_alt_fuzzer_LDADD = src/libsndfile.la $(FUZZ_LDADD)
444
445 ossfuzz_libstandaloneengine_la_SOURCES = ossfuzz/standaloneengine.cc ossfuzz/testinput.h
446 ossfuzz_libstandaloneengine_la_CXXFLAGS = $(AM_CXXFLAGS)
447
448 #############
449 # programs/ #
450 #############
451
452 bin_PROGRAMS = programs/sndfile-info programs/sndfile-play programs/sndfile-convert programs/sndfile-cmp \
453         programs/sndfile-metadata-set programs/sndfile-metadata-get programs/sndfile-interleave \
454         programs/sndfile-deinterleave programs/sndfile-concat programs/sndfile-salvage
455 endif
456
457 # required by test-sndfile-metadata-set.py
458 check_PROGRAMS += programs/sndfile-metadata-set programs/sndfile-metadata-get
459
460 EXTRA_DIST += programs/test-sndfile-metadata-set.py
461
462 programs_sndfile_info_SOURCES = programs/sndfile-info.c programs/common.c programs/common.h
463 programs_sndfile_info_LDADD = src/libsndfile.la
464
465 programs_sndfile_play_SOURCES = programs/sndfile-play.c programs/common.c programs/common.h
466 programs_sndfile_play_LDADD = src/libsndfile.la $(OS_SPECIFIC_LINKS) $(ALSA_LIBS) $(SNDIO_LIBS)
467
468 programs_sndfile_convert_SOURCES = programs/sndfile-convert.c programs/common.c programs/common.h
469 programs_sndfile_convert_LDADD = src/libsndfile.la
470
471 programs_sndfile_cmp_SOURCES = programs/sndfile-cmp.c programs/common.c programs/common.h
472 programs_sndfile_cmp_LDADD = src/libsndfile.la
473
474 programs_sndfile_metadata_set_SOURCES = programs/sndfile-metadata-set.c programs/common.c programs/common.h
475 programs_sndfile_metadata_set_LDADD = src/libsndfile.la
476
477 programs_sndfile_metadata_get_SOURCES = programs/sndfile-metadata-get.c programs/common.c programs/common.h
478 programs_sndfile_metadata_get_LDADD = src/libsndfile.la
479
480 programs_sndfile_interleave_SOURCES = programs/sndfile-interleave.c programs/common.c programs/common.h
481 programs_sndfile_interleave_LDADD = src/libsndfile.la
482
483 programs_sndfile_deinterleave_SOURCES = programs/sndfile-deinterleave.c programs/common.c programs/common.h
484 programs_sndfile_deinterleave_LDADD = src/libsndfile.la
485
486 programs_sndfile_concat_SOURCES = programs/sndfile-concat.c programs/common.c programs/common.h
487 programs_sndfile_concat_LDADD = src/libsndfile.la
488
489 programs_sndfile_salvage_SOURCES = programs/sndfile-salvage.c programs/common.c programs/common.h
490 programs_sndfile_salvage_LDADD = src/libsndfile.la
491
492 ############
493 # regtest/ #
494 ############
495
496 if HAVE_SQLITE3
497 check_PROGRAMS += regtest/sndfile-regtest
498 endif
499
500 regtest_sndfile_regtest_SOURCES = regtest/regtest.h regtest/sndfile-regtest.c regtest/database.c regtest/checksum.c
501 regtest_sndfile_CPPFLAGS = -I$(top_srcdir)/src $(SQLITE3_CFLAGS) $(OS_SPECIFIC_CFLAGS)
502 regtest_sndfile_regtest_LDADD = src/libsndfile.la $(SQLITE3_LIBS)
503
504 ################
505 # test-tarball #
506 ################
507 test-tarball : Scripts/build-test-tarball.mk
508         $(MAKE) $(bin_PROGRAMS) $(check_PROGRAMS)
509         $(MAKE) -f Scripts/build-test-tarball.mk