]> git.sesse.net Git - vlc/blobdiff - Makefile.am
Updates COPYING with new FSF address, removes weird characters
[vlc] / Makefile.am
index 5899bf7de39301b6b334d44b6c3ee9f55704a582..38db434c600af1ed5716cec4e7816986410100ef 100644 (file)
@@ -2,17 +2,13 @@
 # Automake targets and declarations
 ###############################################################################
 
-NULL =
-
 # SUBDIRS stores the directories where a "make" is required when building
 # something. DIST_SUBDIRS stores the directories where nothing is built but
 # which have makefiles with distribution information.
-#  - intl should come before modules and . because all the code uses gettext
-#  - modules should come before . because vlc needs the builtins
-#  - . should come before mozilla/bindings because the plugin needs libvlc.a
-#  - po should come before . because VLC.app needs the pofiles
-#  - loader should come before modules because some plugins need it
-SUBDIRS = intl po libs/loader libs/srtp src modules . \
+#  - intl (gettext) is needed by src and modules
+#  - src (libvlc) is nedeed by modules, mozilla and bindings
+#  - libs/* are needed by modules
+SUBDIRS = intl po libs/loader libs/srtp src modules \
                mozilla bindings activex share doc
 DIST_SUBDIRS = $(SUBDIRS) m4 ipkg
 
@@ -23,18 +19,20 @@ EXTRA_DIST = \
        vlc.exe.manifest \
        MAINTAINERS \
        README.MacOSX.rtf \
-       bootstrap \
-       toolbox \
-       vlc-api.pl \
        vlc-config.in.in \
        vlc.fedora.spec \
        vlc.mandriva.spec \
        vlc.altlinux.spec \
-       vlc.win32.nsi.in \
-       $(NULL)
+       vlc.win32.nsi.in
+
+dist_noinst_SCRIPTS = bootstrap toolbox
 
 BUILT_SOURCES_distclean = vlc-config compile vlc.win32.nsi
+if HAVE_DARWIN
 BUILT_SOURCES_clean = macosx-sdk
+else
+BUILT_SOURCES_clean =
+endif
 
 BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
 
@@ -202,8 +200,7 @@ EXTRA_DIST += \
        extras/MacOSX/plugin/InstallerInfo.plist \
        extras/MacOSX/plugin/InstallerDescription.plist \
        extras/MacOSX/plugin/pbdevelopment.plist \
-       extras/MacOSX/plugin/English.lproj/InfoPlist.strings \
-       $(NULL)
+       extras/MacOSX/plugin/English.lproj/InfoPlist.strings
 
 ###############################################################################
 # Various utilities ( editor syntax files, D-Bus controller ... )
@@ -216,32 +213,10 @@ EXTRA_DIST += \
        extras/make.pl \
        extras/valgrind.suppressions \
        extras/m4/autoconf260.m4 \
-       extras/dbus-vlc.py \
-       extras/dbus-vlc.glade \
-       $(NULL)
-
-###############################################################################
-# MS Visual Studio and eMbedded Visual Studio projects
-###############################################################################
-
-EXTRA_DIST += \
-       msvc/vlc.dsw \
-       msvc/libvlc.dsp.in \
-       msvc/plugins.dsp.in \
-       msvc/vlc.dsp.in \
-       msvc/config.h.in \
-       msvc/modules_builtin_msvc.h \
-       evc/vlc.vcw \
-       evc/libvlc.vcp.in \
-       evc/vlc.vcp.in \
-       evc/plugins.vcp.in \
-       evc/errno.h \
-       evc/config.h.in \
-       evc/modules_builtin_evc.h \
-       $(NULL)
+       extras/mpris.py \
+       extras/mpris.glade
 
 dist-hook:
-       cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
        distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
 
 ###############################################################################
@@ -271,35 +246,21 @@ vlc_SOURCES = src/vlc.c
 # Ugly kludge so that automake defines $(CXXLINK)
 nodist_EXTRA_vlc_SOURCES = extras/zsh.cpp src/misc/darwin_specific.m
 
-# Work around a bug in the arm-wince-pe linker
-if HAVE_WINCE
-vlc_WORKAROUNDLDFLAGS = $(LIBVLC)
-endif
-
-# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
-# old automake-1.5 bug (automake/279).
-DEPENDENCIES_vlc = src/$(LIB_libvlc) $(DATA_win32_rc)
+vlc_DEPENDENCIES = $(LIBVLC) $(DATA_win32_rc)
 
-vlc_LDADD = $(DATA_win32_rc) $(LIBVLC)
+vlc_LDADD = $(DATA_win32_rc) $(LIBVLC) $(LTLIBINTL)
+vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc`
+if !HAVE_PLUGINS
+vlc_LDFLAGS += `$(VLC_CONFIG) --target plugin | sed -e 's/\_plugin /_plugin.la /g'`
+endif
 
 vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
-if USE_LIBTOOL
 LIB_libvlc = libvlc.la
 LIBVLC = src/$(LIB_libvlc)
-vlc_LDFLAGS =
-else
-if HAVE_WIN32
-vlc_LDFLAGS = -L$(top_builddir)/src -lvlc `$(VLC_CONFIG) --libs vlc`
-LIB_libvlc = libvlc.dll.a
-LIBVLC =
-else
-vlc_LDFLAGS = $(vlc_WORKAROUNDLFDLAGS) `$(VLC_CONFIG) --libs vlc builtin`
-LIB_libvlc = libvlc.a
-LIBVLC = src/$(LIB_libvlc)
-DEPENDENCIES_vlc += stamp-builtin
-endif
-vlc_LDADD += $(INCLUDED_LIBINTL)
-endif
+
+#To get some nice output
+nice:
+               $(top_builddir)/compile
 
 # Shortcut for developpers to rebuild the core (libvlc + vlc)
 # Don't use it if you don't know what it is about.
@@ -314,7 +275,7 @@ core: libvlc
 
 src/$(LIB_libvlc): libvlc
 
-vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc)
+vlc$(EXEEXT): $(vlc_OBJECTS) $(vlc_DEPENDENCIES)
        @rm -f vlc$(EXEEXT)
        @case `$(VLC_CONFIG) --linkage vlc builtin` in \
          c++) cmd="$(CXXLINK)" ;; \
@@ -441,13 +402,19 @@ VLC-release.app: vlc
                  $(top_builddir)/VLC-release.app; \
        rm -Rf $(top_builddir)/tmp
        $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
-       $(INSTALL) $(top_builddir)/vlc \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/lib
+       $(INSTALL) $(top_builddir)/.libs/vlc \
                   $(top_builddir)/VLC-release.app/Contents/MacOS/VLC
+       $(INSTALL) $(top_builddir)/src/.libs/libvlc.1.dylib \
+                  $(top_builddir)/VLC-release.app/Contents/MacOS/lib/libvlc.dylib
+       install_name_tool -change /usr/local/lib/libvlc.1.dylib \
+                  @executable_path/lib/libvlc.dylib \
+              $(top_builddir)/VLC-release.app/Contents/MacOS/VLC
        ln -sf ./VLC $(top_builddir)/VLC-release.app/Contents/MacOS/clivlc
        $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/modules
-       for i in "" `$(VLC_CONFIG) --target plugin` ; do \
+       for i in `$(VLC_CONFIG) --target plugin` ; do \
          if test -n "$$i" ; \
-           then $(INSTALL) "$$i$(LIBEXT)" \
+           then $(INSTALL) "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
                           "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \
          fi ; done
        if test -d $(srcdir)/extras/contrib/vlc-lib; then \
@@ -456,6 +423,14 @@ VLC-release.app: vlc
            $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/`basename $${i}` ; \
          done ; \
        fi
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaplaylist
+       for i in $(srcdir)/share/luaplaylist/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaplaylist/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/luameta
+       for i in $(srcdir)/share/luameta/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luameta/`basename $${i}` ; \
+       done ; \
        $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs
        $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js
        $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old
@@ -497,10 +472,10 @@ VLC-release.app: vlc
              $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
          ln -sf ../English.lproj/MainMenu.nib \
              $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
-         ln -sf ../English.lproj/vlc.scriptTerminology \
-             $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
        done
        printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
+       find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
+       find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
 
 VLC.app: vlc
        @if test -e "$(top_builddir)/tmp"; then \
@@ -573,22 +548,32 @@ VLC.app: vlc
                  $(top_builddir)/VLC.app; \
        rm -Rf $(top_builddir)/tmp
        $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
-       $(INSTALL) $(top_builddir)/vlc \
+       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/lib
+       $(INSTALL) $(top_builddir)/.libs/vlc \
                   $(top_builddir)/VLC.app/Contents/MacOS/VLC
+       $(INSTALL) $(top_builddir)/src/.libs/libvlc.1.dylib \
+                  $(top_builddir)/VLC.app/Contents/MacOS/lib/libvlc.dylib
+       install_name_tool -change /usr/local/lib/libvlc.1.dylib \
+                  @executable_path/lib/libvlc.dylib \
+              $(top_builddir)/VLC.app/Contents/MacOS/VLC
        ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
        $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
-       for i in "" `$(VLC_CONFIG) --target plugin` ; do \
+       for i in `$(VLC_CONFIG) --target plugin` ; do \
          if test -n "$$i" ; \
-           then ln -sfn "`pwd`/$$i$(LIBEXT)" \
+        then install_name_tool -change /usr/local/lib/libvlc.1.dylib \
+                                  @executable_path/lib/libvlc.dylib \
+                          "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)"; \
+           ln -sfn "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
                           "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
          fi ; done
        if test -d $(srcdir)/extras/contrib/vlc-lib; then \
          mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
          for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
+               install_name_tool -change /usr/local/lib/libvlc.1.dylib @executable_path/lib/libvlc.dylib $${i}; \
            ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/`basename $${i}` ; \
          done ; \
        fi
-       ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
+       ln -sfn `pwd`/$(srcdir)/share $(top_builddir)/VLC.app/Contents/MacOS/
        $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
        for i in $(ALL_LINGUAS); do \
          mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
@@ -611,30 +596,12 @@ share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc
 endif
 
 
-###############################################################################
-# Building specific source packages
-###############################################################################
-
-dist-woody: distdir
-       $(remove_distdir_woody)
-       mv $(distdir) $(PACKAGE)-woody-$(VERSION)
-       $(srcdir)/toolbox --make-woody $(PACKAGE)-woody-$(VERSION)
-       $(AMTAR) chof - $(PACKAGE)-woody-$(VERSION) \
-         | GZIP=$(GZIP_ENV) gzip -c >$(PACKAGE)-woody-$(VERSION).tar.gz
-       $(remove_distdir_woody)
-
-remove_distdir_woody = \
-  { test ! -d $(PACKAGE)-woody-$(VERSION) \
-    || { find $(PACKAGE)-woody-$(VERSION) -type d ! -perm -200 \
-           -exec chmod u+w {} ';' \
-         && rm -fr $(PACKAGE)-woody-$(VERSION); }; }
-
 ###############################################################################
 # Building architecture-specific binary packages
 ###############################################################################
 
 # XXX: this rule is probably only useful to you if you have exactly
-# the same setup as me. Contact sam@zoy.org if you need to use it.
+# the same setup as the maintaner(s).
 #
 
 package-win-common:
@@ -647,9 +614,10 @@ package-win-common:
        fi
 
 # Copy relevant files
-       cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
+       cp "$(top_builddir)/.libs/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
        cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
-       cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
+       cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "vlc-${VERSION}/"
+       cp "$(top_builddir)/src/.libs/libvlc-control$(LIBEXT)" "vlc-${VERSION}/"
 
        for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
          do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
@@ -704,7 +672,7 @@ package-win-common:
 
 if BUILD_MOZILLA
        mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
-       cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
+       cp $(top_builddir)/mozilla/.libs/npvlc$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
 endif
 
 if BUILD_ACTIVEX
@@ -713,7 +681,7 @@ if BUILD_ACTIVEX
        cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
        unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;
 
-       cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
+       cp $(top_builddir)/activex/.libs/axvlc$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
 endif
 # Rebase all those DLLs to speed up loading (need cygwin rebase)
        if rebase -b 0x42 /dev/null >/dev/null 2>&1; then \
@@ -723,11 +691,12 @@ endif
 package-win-common-strip:
        $(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
        $(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
+       $(STRIP) "vlc-${VERSION}/libvlc-control$(LIBEXT)"
 if BUILD_MOZILLA
-       $(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
+       $(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/npvlc$(LIBEXT);
 endif
 if BUILD_ACTIVEX
-       $(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
+       $(STRIP) $(top_builddir)/vlc-${VERSION}/activex/axvlc$(LIBEXT);
 endif
 
 package-win32-base-debug: package-win-common
@@ -737,7 +706,7 @@ package-win32-base-debug: package-win-common
        mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
        for i in "" `$(VLC_CONFIG) --target plugin` ; do \
          if test -n "$$i" ; then \
-           $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
+           $(INSTALL) "$(top_builddir)/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
             "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
          fi ; done
 
@@ -749,6 +718,15 @@ package-win32-base-debug: package-win-common
          cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
        done
 
+       $(INSTALL) -d $(top_builddir)/vlc-${VERSION}/share/luaplaylist
+       for i in $(srcdir)/share/luaplaylist/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-${VERSION}/share/luaplaylist/`basename $${i}` ; \
+       done ;
+       $(INSTALL) -d $(top_builddir)/vlc-${VERSION}/share/luameta
+       for i in $(srcdir)/share/luameta/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-${VERSION}/share/luameta/`basename $${i}` ; \
+       done ;
+
        mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu"
        cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-${VERSION}/osdmenu"
        for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume;do \
@@ -1019,7 +997,7 @@ update-po:
          echo "" ; \
          echo "# main sources" ; \
          find include src -name '*.[chm]' -o -name '*.[ch]pp' \
-           | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
+           | grep -v '\(misc/modules_\|src/misc/revision.c\|modules/builtin.h\)' \
            | sort ; \
          echo "" ; \
          echo "# modules" ; \
@@ -1036,22 +1014,18 @@ update-po:
 ###############################################################################
 # Stamp rules
 ###############################################################################
-stamp-builtin: FORCE
-       @for dep in "" `$(VLC_CONFIG) --target builtin`; do \
-         if test "$${dep}" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
-           rm -f $@; \
+stamp-builtin:
+       @for dep in "" `$(VLC_CONFIG) --target plugin`; do \
+         if test "$${dep}.la" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
+           touch "$@"; \
            break; \
          fi; \
        done
-       @if test ! -f $@; then printf "" > $@; fi
+
+.PHONY: stamp-builtin
 
 ###############################################################################
 # Enforce Mac OS X deployment target environment variable
 ###############################################################################
-macosx-sdk: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl
+macosx-sdk: Makefile.in $(HEADERS_include) vlc-config
        export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)
-
-###############################################################################
-# Force rule
-###############################################################################
-FORCE: