Use fast resampler on MSVC builds to match others
[libopusenc.git] / Makefile.am
1 ACLOCAL_AMFLAGS = -I m4
2
3 DEFS += -DSPX_RESAMPLE_EXPORT= -DRANDOM_PREFIX=libopusenc -DOUTSIDE_SPEEX -DFLOATING_POINT
4
5 AM_CFLAGS = -I$(top_srcdir)/include $(DEPS_CFLAGS)
6
7 dist_doc_DATA = COPYING AUTHORS README.md
8
9 opusincludedir = ${includedir}/opus
10 opusinclude_HEADERS = include/opusenc.h
11
12 lib_LTLIBRARIES = libopusenc.la
13 noinst_HEADERS = src/arch.h \
14                  src/ogg_packer.h \
15                  src/opus_header.h \
16                  src/picture.h \
17                  src/resample_sse.h \
18                  src/speex_resampler.h \
19                  src/stack_alloc.h \
20                  src/unicode_support.h
21
22 libopusenc_la_SOURCES = \
23         src/ogg_packer.c \
24         src/opus_header.c \
25         src/opusenc.c \
26         src/picture.c \
27         src/resample.c \
28         src/unicode_support.c
29 libopusenc_la_LIBADD = $(DEPS_LIBS) $(lrintf_lib)
30 libopusenc_la_LDFLAGS = -no-undefined \
31  -version-info @OP_LT_CURRENT@:@OP_LT_REVISION@:@OP_LT_AGE@
32
33 if OP_ENABLE_EXAMPLES
34 noinst_PROGRAMS = examples/opusenc_example
35 endif
36
37 examples_opusenc_example_SOURCES = examples/opusenc_example.c
38 examples_opusenc_example_LDADD = libopusenc.la
39
40 pkgconfigdir = $(libdir)/pkgconfig
41 pkgconfig_DATA = libopusenc.pc
42
43 debug:
44         $(MAKE) CFLAGS="${CFLAGS} -O0 -ggdb -DOP_ENABLE_ASSERTIONS" all
45
46 EXTRA_DIST = \
47  libopusenc.pc.in \
48  libopusenc-uninstalled.pc.in \
49  doc/Doxyfile.in \
50  doc/opus_logo.svg \
51  doc/Makefile \
52  win32/VS2015/opusenc.sln \
53  win32/VS2015/opusenc.vcxproj \
54  win32/VS2015/opusenc.vcxproj.filters \
55  win32/VS2015/common.props \
56  win32/genversion.bat \
57  win32/config.h
58
59 # Targets to build and install just the library without the docs
60 libopusenc install-libopusenc: NO_DOXYGEN = 1
61
62 libopusenc: all
63 install-libopusenc: install
64
65 # Or just the docs
66 docs: doc/doxygen-build.stamp
67
68 install-docs:
69         @if [ -z "$(NO_DOXYGEN)" ]; then \
70           ( cd doc && \
71             echo "Installing documentation in $(DESTDIR)$(docdir)"; \
72             $(INSTALL) -d $(DESTDIR)$(docdir)/html/search; \
73             for f in `find html -type f \! -name "installdox"` ; do \
74               $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$f;     \
75             done ) \
76         fi
77
78 doc/doxygen-build.stamp: doc/Doxyfile $(top_srcdir)/doc/opus_logo.svg \
79                          $(top_srcdir)/include/*.h
80         @[ -n "$(NO_DOXYGEN)" ] || ( cd doc && doxygen && touch $(@F) )
81
82
83 if HAVE_DOXYGEN
84
85 # Or everything (by default)
86 all-local: docs
87
88 install-data-local: install-docs
89
90 clean-local:
91         $(RM) -r doc/html
92         $(RM) -r doc/latex
93         $(RM) doc/doxygen-build.stamp
94
95 uninstall-local:
96         $(RM) -r $(DESTDIR)$(docdir)/html
97
98 endif
99
100 # We check this every time make is run, with configure.ac being touched to
101 # trigger an update of the build system files if update_version changes the
102 # current PACKAGE_VERSION (or if package_version was modified manually by a
103 # user with either AUTO_UPDATE=no or no update_version script present - the
104 # latter being the normal case for tarball releases).
105 #
106 # We can't just add the package_version file to CONFIGURE_DEPENDENCIES since
107 # simply running autoconf will not actually regenerate configure for us when
108 # the content of that file changes (due to autoconf dependency checking not
109 # knowing about that without us creating yet another file for it to include).
110 #
111 # The MAKECMDGOALS check is a gnu-make'ism, but will degrade 'gracefully' for
112 # makes that don't support it.  The only loss of functionality is not forcing
113 # an update of package_version for `make dist` if AUTO_UPDATE=no, but that is
114 # unlikely to be a real problem for any real user.
115 $(top_srcdir)/configure.ac: force
116         @case "$(MAKECMDGOALS)" in \
117             dist-hook)                             exit 0       ;; \
118             dist-* | dist | distcheck | distclean) _arg=release ;; \
119         esac; \
120         if ! $(top_srcdir)/update_version $$_arg 2> /dev/null; then \
121             if [ ! -e $(top_srcdir)/package_version ]; then \
122                 echo 'PACKAGE_VERSION="unknown"' > $(top_srcdir)/package_version; \
123             fi; \
124             . $(top_srcdir)/package_version || exit 1; \
125             [ "$(PACKAGE_VERSION)" != "$$PACKAGE_VERSION" ] || exit 0; \
126         fi; \
127         touch $@
128
129 force:
130
131 # Create a minimal package_version file when make dist is run.
132 dist-hook:
133         echo 'PACKAGE_VERSION="$(PACKAGE_VERSION)"' > $(top_distdir)/package_version
134
135
136 .PHONY: libopusenc install-libopusenc docs install-docs