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