Update NEWS for 3.0
[vlc.git] / Makefile.am
blob61d822fdea6dd37b89a49d9823a0cf8ce368dd9c
1 ###############################################################################
2 # Automake targets and declarations
3 ###############################################################################
5 # SUBDIRS stores the directories where a "make" is required when building
6 # something. DIST_SUBDIRS stores the directories where nothing is built but
7 # which have makefiles with distribution information.
8 #  - src (libvlccore) is nedeed by modules
9 SUBDIRS = compat doc po share src modules lib bin test
10 DIST_SUBDIRS = m4 $(SUBDIRS)
12 EXTRA_DIST = \
13         extras/package/macosx/package.mak \
14         extras/package/win32/package.mak \
15         extras/package/npapi.am
17 dist_noinst_SCRIPTS = bootstrap
18 nodist_noinst_SCRIPTS = compile
20 BUILT_SOURCES_distclean =
22 BUILT_SOURCES = $(BUILT_SOURCES_distclean)
24 SUFFIXES = 
26 DISTCHECK_CONFIGURE_FLAGS = \
27         --enable-fast-install \
28         --disable-a52 \
29         --disable-alsa \
30         --disable-avcodec --disable-avformat \
31         --disable-postproc --disable-swscale \
32         --disable-dbus \
33         --disable-mad --disable-libmpeg2 \
34         --disable-faad --disable-skins2 \
35         --disable-live555 \
36         --disable-lua \
37         --disable-fribidi \
38         --disable-mkv \
39         --with-kde-solid='$${datadir}/kde4/apps'
41 ACLOCAL_AMFLAGS = -I m4
42 AUTOMAKE_OPTIONS = \
43         1.11 \
44         -Wall \
45         check-news \
46         dist-xz \
47         no-dist-gzip
48 #       std-options
50 ChangeLog: Makefile.am
51         rm -f -- "$@"
52         cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
53         $(LN_S) -f doc/ChangeLog-2015 "$@"
56 ###############################################################################
57 # tools (needed for contrib)
58 ##############################################################################
59 EXTRA_DIST += \
60         extras/tools/bootstrap \
61         extras/tools/packages.mak \
62         extras/tools/tools.mak \
63         extras/tools/ragel-6.8-javacodegen.patch
65 ###############################################################################
66 # Various utilities ( editor syntax files, D-Bus controller ... )
67 ##############################################################################
68 EXTRA_DIST += \
69         extras/analyser/zsh_completion.sh \
70         extras/analyser/zsh.cpp \
71         extras/analyser/emacs.init \
72         extras/analyser/vlc.vim \
73         extras/analyser/valgrind.suppressions \
74         extras/buildsystem/make.pl \
75         extras/misc/mpris.py \
76         extras/misc/mpris.xml
78 ###############################################################################
79 # Scripts for building dependencies.
80 ##############################################################################
81 EXTRA_DIST += \
82         contrib/bootstrap \
83         contrib/src
85 ###############################################################################
86 # Building libvlc
87 ###############################################################################
89 CLEANFILES =
90 DISTCLEANFILES = $(BUILT_SOURCES_distclean) compile doltcompile doltlibtool
91 MAINTAINERCLEANFILES = ChangeLog
93 # Shortcut for developers to rebuild the core (libvlc + vlc)
94 # Don't use it if you don't know what it is about.
95 # Don't complain if it doesn't work. -- Courmisch
96 libcompat:
97         cd compat && $(MAKE) $(AM_MAKEFLAGS)
99 libvlccore: libcompat
100         cd src && $(MAKE) $(AM_MAKEFLAGS) libvlccore.la
102 libvlc: libvlccore
103         cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
105 core: libvlc vlc$(EXEEXT)
106         cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT)
108 doc:
109         cd doc && $(MAKE) $(AM_MAKEFLAGS) doc
111 .PHONY: libvlc core doc
113 ###############################################################################
114 # Building aliases
115 ###############################################################################
117 ALL_ALIASES = cvlc rvlc svlc qvlc nvlc
118 bin_SCRIPTS = $(ALIASES)
119 CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
120 EXTRA_SCRIPTS = $(ALL_ALIASES)
122 dist_noinst_SCRIPTS += make-alias
124 MKALIAS = bindir="$(bindir)" transform="$(transform)" program_prefix="$(program_prefix)" program_suffix="$(program_suffix)" $(top_srcdir)/make-alias $@
126 cvlc: make-alias Makefile
127         $(AM_V_GEN)$(MKALIAS) dummy
129 rvlc: make-alias Makefile
130         $(AM_V_GEN)$(MKALIAS) rc
132 svlc: make-alias Makefile
133         $(AM_V_GEN)$(MKALIAS) skins2
135 qvlc: make-alias Makefile
136         $(AM_V_GEN)$(MKALIAS) qt
138 nvlc: make-alias Makefile
139         $(AM_V_GEN)$(MKALIAS) ncurses
141 if BUILD_VLC
142 noinst_SCRIPTS = vlc$(EXEEXT)
143 endif
145 vlc$(EXEEXT):
146 if HAVE_DARWIN
147         $(AM_V_GEN)$(LN_S) -f bin/vlc-osx-static vlc
148 else
149         $(AM_V_GEN)$(LN_S) -f bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
150 endif
152 TESTS = test/run_vlc.sh
153 dist_noinst_SCRIPTS += test/run_vlc.sh
155 if BUILD_VLC
156 ###############################################################################
157 # Installing plugins cache
158 ###############################################################################
159 install-exec-hook:
160         if test "$(build)" = "$(host)"; then \
161                 PATH="$(DESTDIR)$(bindir):$$PATH" \
162                 LD_LIBRARY_PATH="$(DESTDIR)$(libdir):$$LD_LIBRARY_PATH" \
163                 "$(DESTDIR)$(vlclibdir)/vlc-cache-gen$(EXEEXT)" \
164                          "$(DESTDIR)$(vlclibdir)/plugins" ; \
165         else \
166                 echo "Cross-compilation: cache generation skipped!" ; \
167         fi
168 endif
170 uninstall-hook:
171         rm -f -- "$(DESTDIR)$(vlclibdir)/plugins/plugins.dat"
173 ###############################################################################
174 # Test coverage
175 ###############################################################################
177 lcov-raw.out:
178         $(MAKE) $(AM_MAKEFLAGS) all
179         lcov -z -d .
180         $(MAKE) $(AM_MAKEFLAGS) check
181         lcov -c -d . -o lcov-raw.out
183 lcov.out: lcov-raw.out
184         lcov -r lcov-raw.out -o lcov.out \
185                 '*test*' 'contrib/*' '/usr/include/*'
187 lcov: lcov.out
188         rm -Rf lcov lcov.tmp
189         prefix="$$(cd "$(top_srcdir)" && pwd)" ; \
190         genhtml -p "$$prefix" -o lcov.tmp lcov.out >/dev/null
191         mv lcov.tmp lcov
193 .PHONY: lcov-raw.out
196 ###############################################################################
197 # PO translation files update
198 ###############################################################################
199 .PHONY: update-po
201 update-po:
202         cd po && $(MAKE) POTFILES vlc.pot update-po
204 ###############################################################################
205 # OS Packaging rules
206 ###############################################################################
207 include extras/package/macosx/package.mak
208 include extras/package/win32/package.mak
209 include extras/package/win32/msi.mak