Makefile.am 21 KB

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