1*1295d682SXin LiACLOCAL_AMFLAGS = -I m4 2*1295d682SXin Li 3*1295d682SXin LiAM_CFLAGS = -I$(top_srcdir)/include $(DEPS_CFLAGS) 4*1295d682SXin Li 5*1295d682SXin Lidist_doc_DATA = COPYING AUTHORS README 6*1295d682SXin Li 7*1295d682SXin Liinclude_HEADERS = include/rnnoise.h 8*1295d682SXin Li 9*1295d682SXin Lilib_LTLIBRARIES = librnnoise.la 10*1295d682SXin Linoinst_HEADERS = src/arch.h \ 11*1295d682SXin Li src/celt_lpc.h \ 12*1295d682SXin Li src/common.h \ 13*1295d682SXin Li src/_kiss_fft_guts.h \ 14*1295d682SXin Li src/kiss_fft.h \ 15*1295d682SXin Li src/opus_types.h \ 16*1295d682SXin Li src/pitch.h \ 17*1295d682SXin Li src/rnn_data.h \ 18*1295d682SXin Li src/rnn.h \ 19*1295d682SXin Li src/tansig_table.h 20*1295d682SXin Li 21*1295d682SXin Lilibrnnoise_la_SOURCES = \ 22*1295d682SXin Li src/denoise.c \ 23*1295d682SXin Li src/rnn.c \ 24*1295d682SXin Li src/rnn_data.c \ 25*1295d682SXin Li src/rnn_reader.c \ 26*1295d682SXin Li src/pitch.c \ 27*1295d682SXin Li src/kiss_fft.c \ 28*1295d682SXin Li src/celt_lpc.c 29*1295d682SXin Li 30*1295d682SXin Lilibrnnoise_la_LIBADD = $(DEPS_LIBS) $(lrintf_lib) $(LIBM) 31*1295d682SXin Lilibrnnoise_la_LDFLAGS = -no-undefined \ 32*1295d682SXin Li -version-info @OP_LT_CURRENT@:@OP_LT_REVISION@:@OP_LT_AGE@ 33*1295d682SXin Li 34*1295d682SXin Liif OP_ENABLE_EXAMPLES 35*1295d682SXin Linoinst_PROGRAMS = examples/rnnoise_demo 36*1295d682SXin Liendif 37*1295d682SXin Li 38*1295d682SXin Liexamples_rnnoise_demo_SOURCES = examples/rnnoise_demo.c 39*1295d682SXin Liexamples_rnnoise_demo_LDADD = librnnoise.la 40*1295d682SXin Li 41*1295d682SXin Lipkgconfigdir = $(libdir)/pkgconfig 42*1295d682SXin Lipkgconfig_DATA = rnnoise.pc 43*1295d682SXin Li 44*1295d682SXin Lidebug: 45*1295d682SXin Li $(MAKE) CFLAGS="${CFLAGS} -O0 -ggdb -DOP_ENABLE_ASSERTIONS" all 46*1295d682SXin Li 47*1295d682SXin LiEXTRA_DIST = \ 48*1295d682SXin Li rnnoise.pc.in \ 49*1295d682SXin Li rnnoise-uninstalled.pc.in \ 50*1295d682SXin Li doc/Doxyfile.in \ 51*1295d682SXin Li doc/Makefile 52*1295d682SXin Li 53*1295d682SXin Li# Targets to build and install just the library without the docs 54*1295d682SXin Lilibrnnoise install-librnnoise: NO_DOXYGEN = 1 55*1295d682SXin Li 56*1295d682SXin Lirnnoise: all 57*1295d682SXin Liinstall-rnnoise: install 58*1295d682SXin Li 59*1295d682SXin Li# Or just the docs 60*1295d682SXin Lidocs: doc/doxygen-build.stamp 61*1295d682SXin Li 62*1295d682SXin Liinstall-docs: 63*1295d682SXin Li @if [ -z "$(NO_DOXYGEN)" ]; then \ 64*1295d682SXin Li ( cd doc && \ 65*1295d682SXin Li echo "Installing documentation in $(DESTDIR)$(docdir)"; \ 66*1295d682SXin Li $(INSTALL) -d $(DESTDIR)$(docdir)/html/search; \ 67*1295d682SXin Li for f in `find html -type f \! -name "installdox"` ; do \ 68*1295d682SXin Li $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$f; \ 69*1295d682SXin Li done ) \ 70*1295d682SXin Li fi 71*1295d682SXin Li 72*1295d682SXin Lidoc/doxygen-build.stamp: doc/Doxyfile \ 73*1295d682SXin Li $(top_srcdir)/include/*.h 74*1295d682SXin Li @[ -n "$(NO_DOXYGEN)" ] || ( cd doc && doxygen && touch $(@F) ) 75*1295d682SXin Li 76*1295d682SXin Li 77*1295d682SXin Liif HAVE_DOXYGEN 78*1295d682SXin Li 79*1295d682SXin Li# Or everything (by default) 80*1295d682SXin Liall-local: docs 81*1295d682SXin Li 82*1295d682SXin Liinstall-data-local: install-docs 83*1295d682SXin Li 84*1295d682SXin Liclean-local: 85*1295d682SXin Li $(RM) -r doc/html 86*1295d682SXin Li $(RM) -r doc/latex 87*1295d682SXin Li $(RM) doc/doxygen-build.stamp 88*1295d682SXin Li 89*1295d682SXin Liuninstall-local: 90*1295d682SXin Li $(RM) -r $(DESTDIR)$(docdir)/html 91*1295d682SXin Li 92*1295d682SXin Liendif 93*1295d682SXin Li 94*1295d682SXin Li# We check this every time make is run, with configure.ac being touched to 95*1295d682SXin Li# trigger an update of the build system files if update_version changes the 96*1295d682SXin Li# current PACKAGE_VERSION (or if package_version was modified manually by a 97*1295d682SXin Li# user with either AUTO_UPDATE=no or no update_version script present - the 98*1295d682SXin Li# latter being the normal case for tarball releases). 99*1295d682SXin Li# 100*1295d682SXin Li# We can't just add the package_version file to CONFIGURE_DEPENDENCIES since 101*1295d682SXin Li# simply running autoconf will not actually regenerate configure for us when 102*1295d682SXin Li# the content of that file changes (due to autoconf dependency checking not 103*1295d682SXin Li# knowing about that without us creating yet another file for it to include). 104*1295d682SXin Li# 105*1295d682SXin Li# The MAKECMDGOALS check is a gnu-make'ism, but will degrade 'gracefully' for 106*1295d682SXin Li# makes that don't support it. The only loss of functionality is not forcing 107*1295d682SXin Li# an update of package_version for `make dist` if AUTO_UPDATE=no, but that is 108*1295d682SXin Li# unlikely to be a real problem for any real user. 109*1295d682SXin Li$(top_srcdir)/configure.ac: force 110*1295d682SXin Li @case "$(MAKECMDGOALS)" in \ 111*1295d682SXin Li dist-hook) exit 0 ;; \ 112*1295d682SXin Li dist-* | dist | distcheck | distclean) _arg=release ;; \ 113*1295d682SXin Li esac; \ 114*1295d682SXin Li if ! $(top_srcdir)/update_version $$_arg 2> /dev/null; then \ 115*1295d682SXin Li if [ ! -e $(top_srcdir)/package_version ]; then \ 116*1295d682SXin Li echo 'PACKAGE_VERSION="unknown"' > $(top_srcdir)/package_version; \ 117*1295d682SXin Li fi; \ 118*1295d682SXin Li . $(top_srcdir)/package_version || exit 1; \ 119*1295d682SXin Li [ "$(PACKAGE_VERSION)" != "$$PACKAGE_VERSION" ] || exit 0; \ 120*1295d682SXin Li fi; \ 121*1295d682SXin Li touch $@ 122*1295d682SXin Li 123*1295d682SXin Liforce: 124*1295d682SXin Li 125*1295d682SXin Li# Create a minimal package_version file when make dist is run. 126*1295d682SXin Lidist-hook: 127*1295d682SXin Li echo 'PACKAGE_VERSION="$(PACKAGE_VERSION)"' > $(top_distdir)/package_version 128*1295d682SXin Li 129*1295d682SXin Li 130*1295d682SXin Li.PHONY: rnnoise install-rnnoise docs install-docs 131