xref: /aosp_15_r20/external/rnnoise/Makefile.am (revision 1295d6828459cc82c3c29cc5d7d297215250a74b)
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