]> git.sesse.net Git - vlc/blob - modules/common.am
modules: set MODULE_NAME_IS_... where needed only
[vlc] / modules / common.am
1 # Common code for VLC modules/.../Makefile.am
2 #
3 # Copyright (C) 2005-2007 the VideoLAN team
4 # Copyright (C) 2005-2008 RĂ©mi Denis-Courmont
5 #
6 # Authors: Sam Hocevar <sam@zoy.org>
7
8 AUTOMAKE_OPTIONS = subdir-objects
9
10 NULL =
11 pluginsdir = $(vlclibdir)/plugins
12 BUILT_SOURCES =
13 CLEANFILES = $(BUILT_SOURCES)
14
15 LTLIBVLCCORE = $(top_builddir)/src/libvlccore.la
16
17 # Module name from object or executable file name.
18 MODULE_NAME = $$(p="$@"; p="$${p\#\#*/}"; p="$${p\#lib}"; echo "$${p%_plugin*}")
19
20 AM_CPPFLAGS = \
21         -DMODULE_STRING=\"$(MODULE_NAME)\"
22 if HAVE_DYNAMIC_PLUGINS
23 AM_CPPFLAGS += -D__PLUGIN__
24 else
25 AM_CPPFLAGS += -DMODULE_NAME=$(MODULE_NAME)
26 endif
27 AM_CFLAGS =
28 AM_CXXFLAGS =
29 AM_OBJCFLAGS =
30 AM_LIBADD = $(LIBPTHREAD)
31 AM_LDFLAGS = \
32         -avoid-version -module \
33         -export-symbols-regex ^vlc_entry \
34         -shrext $(LIBEXT) \
35         -no-undefined \
36         $(LTLIBVLCCORE) $(top_builddir)/compat/libcompat.la
37
38 if HAVE_WIN32
39 AM_LDFLAGS += -Wl,lib$(MODULE_NAME)_plugin.rc.$(OBJEXT)
40
41 $(top_builddir)/modules/module.rc: $(top_builddir)/modules/module.rc.in $(top_builddir)/config.status
42         $(AM_V_GEN) cd "$(top_builddir)" && $(SHELL) ./config.status --file="modules/module.rc"
43
44 lib%_plugin.rc.$(OBJEXT): $(top_builddir)/modules/module.rc
45         $(AM_V_GEN) $(WINDRES) -DMODULE_NAME=\\\"$(MODULE_NAME)\\\" --include-dir $(top_srcdir)/share --include-dir $(top_srcdir)/extras/package/win32 -i $< -o $@
46 endif