X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgenmf;h=be97990031088aa86feb257fe90e5c9d1ba95f8f;hb=06402f46e312725d794a60ef7fc02ff24fbe1f0d;hp=d05594ad73671784f1e910d13133219a1471eef4;hpb=41ce29d54dd9fc4a3989e03fce0aa9d6c93f42f0;p=vlc diff --git a/modules/genmf b/modules/genmf index d05594ad73..be97990031 100755 --- a/modules/genmf +++ b/modules/genmf @@ -11,52 +11,58 @@ cd $(dirname "$0")/.. || exit 1 while test "$1" do - printf "." dir="$1" modf="modules/${dir}/Modules.am" + if test ! -f "$modf"; then + echo "$modf does not exist!" >&2 + exit 1 + fi makf="modules/${dir}/Makefile.am" basedir="`echo "${dir}" | cut -f1 -d/`" - # automake will not recurse for make dist if we don't define SUBDIRS = . - subdirs="`sed -ne 's,'modules/${dir}'/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`" - mods="`sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < "${modf}" | xargs`" - extra_ltlibs="" - for mod in $mods - do - extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la" - done + mods="`sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < "${modf}" | sort | uniq | xargs`" + plugins="`sed -n -e 's/^.*lib\([^ ]*\)_plugin\.la.*/\1/p' < "${modf}" | sort | uniq | xargs`" rm -f "${makf}" && cat > "${makf}" << EOF -# ${makf} automatically generated from ${modf} by bootstrap -# DO NOT EDIT - edit Modules.am or \$(top_srcdir)/bootstrap instead +# ${makf} automatically generated from ${modf} by $0 +# DO NOT EDIT THIS FILE DIRECTLY! See Modules.am instead. + +${basedir}dir = \$(pluginsdir)/${basedir} +${basedir}_LTLIBRARIES = +EXTRA_LTLIBRARIES = -basedir = ${basedir} -dir = ${dir} -mods = ${mods} -SUBDIRS = ${subdirs} -EXTRA_LTLIBRARIES = ${extra_ltlibs} +EXTRA_DIST = Modules.am include \$(top_srcdir)/modules/common.am +include \$(srcdir)/Modules.am +if MAINTAINER_MODE +\$(srcdir)/Makefile.am: \$(srcdir)/Modules.am \$(top_srcdir)/modules/genmf + \$(AM_V_GEN)cd \\\$(top_srcdir) && \\\$(SHELL) modules/genmf ${dir} +endif EOF for mod in $mods do - cat >> m4/private.m4 << EOF - ${mod}) list="\\\${list} ${dir}/lib${mod}" ;; -EOF cat >> "${makf}" << EOF -# The ${mod} plugin -lib${mod}_plugin_la_SOURCES = \$(SOURCES_${mod}) -nodist_lib${mod}_plugin_la_SOURCES = \$(nodist_SOURCES_${mod}) -lib${mod}_plugin_la_CFLAGS = \$(AM_CFLAGS) -lib${mod}_plugin_la_CXXFLAGS = \$(AM_CXXFLAGS) -lib${mod}_plugin_la_OBJCFLAGS = \$(AM_OBJCFLAGS) -lib${mod}_plugin_la_LIBADD = \$(AM_LIBADD) \\ - \`\$(VLC_CONFIG) -libs plugin ${mod}\` -# Automake does not understand \`...\` very well inside LIBADD... -lib${mod}_plugin_la_DEPENDENCIES = \$(AM_LIBADD) +lib${mod}_plugin_la_SOURCES = \$(SOURCES_${mod}) +lib${mod}_plugin_la_CPPFLAGS = \$(AM_CPPFLAGS) \$(CPPFLAGS_${mod}) \ + -DMODULE_NAME_IS_${mod} +lib${mod}_plugin_la_CFLAGS = \$(AM_CFLAGS) \$(CFLAGS_${mod}) +lib${mod}_plugin_la_CXXFLAGS = \$(AM_CXXFLAGS) \$(CXXFLAGS_${mod}) +lib${mod}_plugin_la_OBJCFLAGS = \$(AM_OBJCFLAGS) \$(OBJCFLAGS_${mod}) +lib${mod}_plugin_la_LIBADD = \$(LIBS_${mod}) +lib${mod}_plugin_la_LDFLAGS = \$(AM_LDFLAGS) -rpath '\$(${basedir}dir)' \$(LDFLAGS_${mod}) +EOF + case " ${plugins} " in + *\ ${mod}\ *) + ;; + *) + cat >> "${makf}" << EOF +EXTRA_LTLIBRARIES += lib${mod}_plugin.la +${basedir}_LTLIBRARIES += \$(LTLIB${mod}) EOF + ;; + esac done shift done -printf "\n"