X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcommon.am;h=3dd8ad2e4ed5e54845d4f7a8e338d7e28dfe33b5;hb=e19f3ad959e8be9cc22757882f0890678b066e71;hp=47aa97c3f42cd608c0878ee0d18eab2801f18d94;hpb=41ce29d54dd9fc4a3989e03fce0aa9d6c93f42f0;p=vlc diff --git a/modules/common.am b/modules/common.am index 47aa97c3f4..3dd8ad2e4e 100644 --- a/modules/common.am +++ b/modules/common.am @@ -6,69 +6,36 @@ # Authors: Sam Hocevar NULL = -SUFFIXES = -libvlcdir = $(libdir)/vlc/$(basedir) -libvlc_LTLIBRARIES = +libvlcdir = $(vlclibdir)/plugins/$(basedir) EXTRA_DIST = Modules.am BUILT_SOURCES = CLEANFILES = $(BUILT_SOURCES) -include $(srcdir)/Modules.am +LTLIBVLCCORE = $(top_builddir)/src/libvlccore.la -if HAVE_PLUGINS -LTLIBVLC = $(top_builddir)/src/libvlc.la +# Module name from object or executable file name. +MODULE_NAME = `p="$@"; p="$${p\#\#*/}"; p="$${p\#lib}"; echo "$${p%_plugin*}"` -AM_CFLAGS = `$(VLC_CONFIG) --cflags plugin $@` -AM_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin $@` -AM_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin $@` +AM_CPPFLAGS = \ + -DMODULE_NAME=$(MODULE_NAME) \ + -DMODULE_NAME_IS_$(MODULE_NAME) \ + -DMODULE_STRING=\"$(MODULE_NAME)\" +if HAVE_DYNAMIC_PLUGINS +AM_CPPFLAGS += -D__PLUGIN__ +endif +AM_CFLAGS = +AM_CXXFLAGS = +AM_OBJCFLAGS = AM_LDFLAGS = -rpath '$(libvlcdir)' \ - -avoid-version -module -no-undefined \ + -avoid-version -module \ + -export-symbols-regex ^vlc_entry \ -shrext $(LIBEXT) \ - `$(VLC_CONFIG) --ldflags plugin $@` -AM_LIBADD = $(LTLIBVLC) - -if HAVE_COMPILER_EXPORT -AM_LDFLAGS += -export-dynamic -else -AM_LDFLAGS += -export-symbol-regex ^vlc_entry -endif -endif - -all: all-modules + -no-undefined +AM_LIBADD = $(LTLIBVLCCORE) $(top_builddir)/compat/libcompat.la $(LIBS_plugin) -nice: - $(top_builddir)/compile - -# Find out which modules were enabled and tell make to build them -all-modules: - @set fnord $$MAKEFLAGS; amf=$$2; targets=`\ - z=$$($(VLC_CONFIG) --list plugin); for mod in $(mods); do case "$$z " in *\ $${mod}\ *) echo lib$${mod}_plugin.la;; esac; done; \ - `; case "$$targets" in *lib*) $(MAKE) $(AM_MAKEFLAGS) $$targets || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \ - test -z "$$fail" +include $(srcdir)/Modules.am if MAINTAINER_MODE $(srcdir)/Makefile.am: $(srcdir)/Modules.am $(top_srcdir)/modules/genmf - cd \$(top_srcdir) && \$(SHELL) modules/genmf $(dir) + $(AM_V_GEN)cd \$(top_srcdir) && \$(SHELL) modules/genmf $(dir) endif - -mostlyclean-local: - -rm -f -- *.la - -### automake creates libvlcdir after running install-*-local -### so we have to create it ourselves first -install-exec-local: all-modules - @if test -z "$(libvlc_LTLIBRARIES)"; then \ - z=$$($(VLC_CONFIG) --list plugin); \ - m=`for mod in $(mods); do case "$$z " in *\ $${mod}\ *) printf " lib$${mod}_plugin.la" ;; esac; done` ; \ - test -z "$$m" || \ - $(MAKE) $(AM_MAKEFLAGS) libvlc_LTLIBRARIES="$$m" install-libvlcLTLIBRARIES || exit $$? ; \ - fi - -uninstall-local: - @if test -z "$(libvlc_LTLIBRARIES)"; then \ - z=$$($(VLC_CONFIG) --list plugin); \ - m=`for mod in $(mods); do case "$$z " in *\ $${mod}\ *) printf " lib$${mod}_plugin.la" ;; esac; done` ; \ - test -z "$$m" || \ - $(MAKE) $(AM_MAKEFLAGS) libvlc_LTLIBRARIES="$$m" uninstall-libvlcLTLIBRARIES || exit $$?; \ - fi -