]> git.sesse.net Git - vlc/blobdiff - Makefile.am
Build VLC aliases cleanly (don't need to parse argv[0])
[vlc] / Makefile.am
index 4e9a6c5155dbbd72451966ffa4f70bf171b95741..3d099306b72c41bd9a6126109d4fc167fa6f11ac 100644 (file)
@@ -2,18 +2,15 @@
 # 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 loader src modules po . mozilla bindings activex share m4 doc
-DIST_SUBDIRS = $(SUBDIRS)  ipkg
+#  - 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
 
 EXTRA_DIST = \
        HACKING \
@@ -22,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)
 
@@ -187,7 +186,9 @@ EXTRA_DIST += \
        extras/MacOSX/Resources/fs_exit_fullscreen_highlight.png \
        extras/MacOSX/Resources/fs_exit_fullscreen.png \
        extras/MacOSX/Resources/fs_background.png \
-       extras/MacOSX/vlc.pbproj/project.pbxproj \
+       extras/MacOSX/fullscreen_panel.svg \
+       extras/MacOSX/ub.sh \
+       extras/MacOSX/vlc.xcodeproj/project.pbxproj \
        extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
        extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
        extras/MacOSX/Delete_Preferences.app/Contents/MacOS/applet \
@@ -199,11 +200,10 @@ 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, ... )
+# Various utilities ( editor syntax files, D-Bus controller ... )
 ##############################################################################
 EXTRA_DIST += \
        extras/Makefile \
@@ -213,30 +213,10 @@ EXTRA_DIST += \
        extras/make.pl \
        extras/valgrind.suppressions \
        extras/m4/autoconf260.m4 \
-       $(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
 
 ###############################################################################
@@ -256,6 +236,14 @@ vlc-config.in: vlc-config.in.in
 CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin
 DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
 
+# Shortcut for developpers to rebuild the core (libvlc + vlc)
+# Don't use it if you don't know what it is about.
+# Don't complain if it doesn't work. -- Courmisch
+libvlc:
+       cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)
+
+.PHONY: libvlc
+
 ###############################################################################
 # Building vlc
 ###############################################################################
@@ -264,55 +252,29 @@ bin_PROGRAMS = vlc
 
 vlc_SOURCES = src/vlc.c
 # Ugly kludge so that automake defines $(CXXLINK)
-EXTRA_vlc_SOURCES = extras/zsh.cpp
-
-# Work around a bug in the arm-wince-pe linker
-if HAVE_WINCE
-vlc_WORKAROUNDLDFLAGS = $(LIBVLC)
-endif
+nodist_EXTRA_vlc_SOURCES = extras/zsh.cpp src/misc/darwin_specific.m
 
-# 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 = $(DATA_win32_rc)
 
-vlc_LDADD = $(DATA_win32_rc) $(LIBVLC)
+vlc_LDADD = $(DATA_win32_rc) $(LIBVLC) $(LTLIBINTL) `$(VLC_CONFIG) -libs vlc`
+vlc_LDFLAGS = `$(VLC_CONFIG) --ldflags 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 BUILD_SHARED
-vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc` -Wl,-rpath $(libdir) -L$(top_builddir)/src -lvlc
-if HAVE_WIN32
-LIB_libvlc = libvlc.dll.a
-else
-LIB_libvlc = libvlc$(LIBEXT)
-endif
-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
 
-# Shortcut for developpers to rebuild the core (libvlc + vlc)
-# Don't use it if you don't know what it is about.
-# Don't complain if it doesn't work. -- Courmisch
-core:
-       rm -f src/$(LIB_libvlc)
-       $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
+#To get some nice output
+nice:
+       $(top_builddir)/compile
 
-.PHONY: core
+core: libvlc vlc$(EXEEXT)
 
-src/$(LIB_libvlc):
-       cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)
+.PHONY: core
 
-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)" ;; \
@@ -341,7 +303,7 @@ vlc-bundle: vlc
            cp $$i $(top_builddir)/vlc-bundle/lib/ ; \
          done ; \
        fi
-       for i in $(ALL_LINGUAS); do \
+       cat $(top_srcdir)/po/LINGUAS | while read i; do \
          mkdir -p "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES" ; \
          cp "$(top_builddir)/po/$$i.gmo" \
            "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
@@ -349,18 +311,35 @@ vlc-bundle: vlc
        find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
 endif
 
-# Install the symlinks
-install-exec-local:
-       for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
-         rm -f "$(DESTDIR)$(bindir)/$$i" && \
-         ln -sf vlc "$(DESTDIR)$(bindir)/$$i" ; \
-       fi ; done
+###############################################################################
+# Building aliases
+###############################################################################
+
+ALL_ALIASES = cvlc rvlc svlc wxvlc qvlc nvlc
+bin_SCRIPTS += $(ALIASES)
+EXTRA_SCRIPTS = $(ALL_ALIASES)
+
+dist_noinst_SCRIPTS += make-alias
+
+MKALIAS = bindir="$(bindir)" transform="$(transform)" $(top_srcdir)/make-alias $@
 
-# the opposite of install-{data,exec}-local
-uninstall-local:
-       for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
-         rm -f "$(DESTDIR)$(bindir)/$$i" ; \
-       fi ; done
+cvlc: make-alias
+       $(MKALIAS) dummy
+
+rvlc: make-alias
+       $(MKALIAS) rc
+
+svlc: make-alias
+       $(MKALIAS) skins2
+
+wxvlc: make-alias
+       $(MKALIAS) wx
+
+qvlc: make-alias
+       $(MKALIAS) qt4
+
+nvlc: make-alias
+       $(MKALIAS) ncurses
 
 if HAVE_DARWIN
 # Create the MacOS X app
@@ -432,29 +411,30 @@ VLC-release.app: vlc
          cp "$(srcdir)/modules/gui/macosx/$$i" \
              $(top_builddir)/tmp/modules/gui/macosx; \
        done
-       case $(host_os) in \
-         *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
-           cd ../../../; \
-           cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
-                 $(top_builddir)/VLC-release.app;; \
-         *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
-           cd ../../../; \
-           cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
-                 $(top_builddir)/VLC-release.app;; \
-         *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
-           cd ../../../; \
+       cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
+           cd ../../../ && \
            cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
-                 $(top_builddir)/VLC-release.app;; \
-       esac
+                 $(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) $(top_builddir)/src/.libs/libvlc-control.1.dylib \
+                  $(top_builddir)/VLC-release.app/Contents/MacOS/lib/libvlc-control.dylib
+       install_name_tool -change /usr/local/lib/libvlc.1.dylib \
+                  @executable_path/lib/libvlc.dylib \
+                  $(top_builddir)/VLC-release.app/Contents/MacOS/lib/libvlc-control.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 \
@@ -463,6 +443,54 @@ 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/luaintf
+       for i in $(srcdir)/share/luaintf/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaintf/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaintf/modules
+       for i in $(srcdir)/share/luaintf/modules/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaintf/modules/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/dialogs
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/js
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/admin
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/vlm
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/images
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/requests
+       for i in $(srcdir)/share/http-lua/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/`basename $${i}` ; \
+       done ; \
+       for i in $(srcdir)/share/http-lua/dialogs/* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/dialogs/`basename $${i}` ; \
+       done ; \
+       for i in $(srcdir)/share/http-lua/js/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/js/`basename $${i}` ; \
+       done ; \
+       for i in $(srcdir)/share/http-lua/old/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/`basename $${i}` ; \
+       done ; \
+       for i in $(srcdir)/share/http-lua/old/admin/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/admin/`basename $${i}` ; \
+       done ; \
+       for i in $(srcdir)/share/http-lua/old/vlm/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/vlm/`basename $${i}` ; \
+       done ; \
+       for i in $(srcdir)/share/http-lua/images/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/images/`basename $${i}` ; \
+       done ; \
+       for i in $(srcdir)/share/http-lua/requests/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/requests/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -m 644 $(srcdir)/share/http-lua/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/requests/readme.txt
        $(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
@@ -496,7 +524,7 @@ VLC-release.app: vlc
        done ; \
        $(INSTALL) -m 644 $(srcdir)/share/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/readme.txt
        $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale
-       for i in $(ALL_LINGUAS); do \
+       cat $(top_srcdir)/po/LINGUAS | while read i; do \
          mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
          cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
          mkdir -p $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
@@ -504,10 +532,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 \
@@ -574,40 +602,45 @@ VLC.app: vlc
          cp "$(srcdir)/modules/gui/macosx/$$i" \
              $(top_builddir)/tmp/modules/gui/macosx; \
        done
-       case $(host_os) in \
-         *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
-           cd ../../../; \
-           cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
-                 $(top_builddir)/VLC.app;; \
-         *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
-           cd ../../../; \
-           cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
-                 $(top_builddir)/VLC.app;; \
-         *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
-           cd ../../../; \
+       cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
+           cd ../../../ && \
            cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
-                 $(top_builddir)/VLC.app;; \
-       esac
+                 $(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) $(top_builddir)/src/.libs/libvlc-control.1.dylib \
+                  $(top_builddir)/VLC.app/Contents/MacOS/lib/libvlc-control.dylib
+       install_name_tool -change /usr/local/lib/libvlc.1.dylib \
+                  @executable_path/lib/libvlc.dylib \
+                  $(top_builddir)/VLC.app/Contents/MacOS/lib/libvlc-control.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 \
+       cat $(top_srcdir)/po/LINGUAS | while read i; do \
          mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
          ln -sfn `pwd`/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
          mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
@@ -628,30 +661,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:
@@ -664,24 +679,62 @@ 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}/"
-if BUILD_SHARED
-       cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
-endif
+       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" ; \
-         unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
+       for file in AUTHORS MAINTAINERS THANKS ; \
+         do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done;
+       for file in NEWS COPYING README; \
+          do cp "$(srcdir)/$$file" "$(top_builddir)/vlc-${VERSION}/$${file}.txt"; done
+         unix2dos "$(top_builddir)/vlc-${VERSION}/"*.txt
 
        mkdir $(top_builddir)/vlc-${VERSION}/locale
-       for i in $(ALL_LINGUAS); do \
+       cat $(top_srcdir)/po/LINGUAS | while read i; do \
          mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
          cp "$(srcdir)/po/$${i}.gmo" \
            "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
             || true ; \
        done
 
+       mkdir -p "$(top_builddir)/vlc-${VERSION}/http-lua/images"
+       mkdir -p "$(top_builddir)/vlc-${VERSION}/http-lua/requests"
+       mkdir -p "$(top_builddir)/vlc-${VERSION}/http-lua/js"
+       mkdir -p "$(top_builddir)/vlc-${VERSION}/http-lua/dialogs"
+       mkdir -p "$(top_builddir)/vlc-${VERSION}/http-lua/old"
+       mkdir -p "$(top_builddir)/vlc-${VERSION}/http-lua/old/vlm"
+       mkdir -p "$(top_builddir)/vlc-${VERSION}/http-lua/old/admin"
+       cp $(srcdir)/share/http-lua/*.html $(top_builddir)/vlc-${VERSION}/http-lua/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/*.html ;
+       cp $(srcdir)/share/http-lua/.hosts $(top_builddir)/vlc-${VERSION}/http-lua/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/.hosts ;
+       cp $(srcdir)/share/http-lua/*.css $(top_builddir)/vlc-${VERSION}/http-lua/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/*.css ;
+       cp $(srcdir)/share/http-lua/js/*.js $(top_builddir)/vlc-${VERSION}/http-lua/js/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/js/*.js ;
+       cp $(srcdir)/share/http-lua/dialogs/* $(top_builddir)/vlc-${VERSION}/http-lua/dialogs/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/dialogs/* ;
+       cp $(srcdir)/share/http-lua/dialogs/.hosts $(top_builddir)/vlc-${VERSION}/http-lua/dialogs/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/dialogs/.hosts ;
+       cp $(srcdir)/share/http-lua/*.ico $(top_builddir)/vlc-${VERSION}/http-lua/ ;
+       cp $(srcdir)/share/http-lua/images/*.png $(top_builddir)/vlc-${VERSION}/http-lua/images/
+       cp $(srcdir)/share/http-lua/requests/*.xml $(top_builddir)/vlc-${VERSION}/http-lua/requests/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/requests/*.xml ;
+       cp $(srcdir)/share/http-lua/requests/readme $(top_builddir)/vlc-${VERSION}/http-lua/requests/readme.txt ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/requests/readme.txt ;
+
+       cp $(srcdir)/share/http-lua/old/*.html $(top_builddir)/vlc-${VERSION}/http-lua/old/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/old/*.html ;
+       cp $(srcdir)/share/http-lua/old/*.css $(top_builddir)/vlc-${VERSION}/http-lua/old/ ;
+       cp $(srcdir)/share/http-lua/old/.hosts $(top_builddir)/vlc-${VERSION}/http-lua/old/ ;
+       cp $(srcdir)/share/http-lua/old/*.png $(top_builddir)/vlc-${VERSION}/http-lua/old/ ;
+       cp $(srcdir)/share/http-lua/old/vlm/*.html $(top_builddir)/vlc-${VERSION}/http-lua/old/vlm/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/old/vlm/*.html ;
+       cp $(srcdir)/share/http-lua/old/admin/*.html $(top_builddir)/vlc-${VERSION}/http-lua/old/admin/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http-lua/old/admin/*.html ;
+       cp $(srcdir)/share/http-lua/old/admin/.access $(top_builddir)/vlc-${VERSION}/http-lua/old/admin/ ;
+
        mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
        mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
        mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
@@ -691,12 +744,16 @@ endif
        mkdir -p "$(top_builddir)/vlc-${VERSION}/http/old/admin"
        cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
        unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
+       cp $(srcdir)/share/http/.hosts $(top_builddir)/vlc-${VERSION}/http/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http/.hosts ;
        cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
        unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
        cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
        unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
        cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
        unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
+       cp $(srcdir)/share/http/dialogs/.hosts $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
+       unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/.hosts ;
        cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
        cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-${VERSION}/http/images/
        cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-${VERSION}/http/requests/ ;
@@ -707,17 +764,19 @@ endif
        cp $(srcdir)/share/http/old/*.html $(top_builddir)/vlc-${VERSION}/http/old/ ;
        unix2dos $(top_builddir)/vlc-${VERSION}/http/old/*.html ;
        cp $(srcdir)/share/http/old/*.css $(top_builddir)/vlc-${VERSION}/http/old/ ;
+       cp $(srcdir)/share/http/old/.hosts $(top_builddir)/vlc-${VERSION}/http/old/ ;
        cp $(srcdir)/share/http/old/*.png $(top_builddir)/vlc-${VERSION}/http/old/ ;
        cp $(srcdir)/share/http/old/vlm/*.html $(top_builddir)/vlc-${VERSION}/http/old/vlm/ ;
        unix2dos $(top_builddir)/vlc-${VERSION}/http/old/vlm/*.html ;
        cp $(srcdir)/share/http/old/admin/*.html $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
        unix2dos $(top_builddir)/vlc-${VERSION}/http/old/admin/*.html ;
+       cp $(srcdir)/share/http/old/admin/.access $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
 
        cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
 
 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
@@ -726,7 +785,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 \
@@ -735,14 +794,13 @@ endif
 
 package-win-common-strip:
        $(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
-if BUILD_SHARED
        $(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
-endif
+       $(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
@@ -752,7 +810,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
 
@@ -764,17 +822,37 @@ 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 ;
+       $(INSTALL) -d $(top_builddir)/vlc-${VERSION}/share/luaintf
+       for i in $(srcdir)/share/luaintf/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-${VERSION}/share/luaintf/`basename $${i}` ; \
+       done ;
+       $(INSTALL) -d $(top_builddir)/vlc-${VERSION}/share/luaintf/modules
+       for i in $(srcdir)/share/luaintf/modules/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-${VERSION}/share/luaintf/modules/`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 \
+       for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume minimal;do \
                mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir"; \
                for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
                         cp $$file "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir" || true; \
                done; \
        done
        unix2dos $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg;
-       sed -i 's%share/osdmenu%osdmenu%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg
-       sed -i 's%/%\\%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg 
+       for file in $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg; do \
+               if sed 's%share/osdmenu%osdmenu%g' $$file >$$file.tmp; then :; else exit 1; fi; \
+               if sed 's%/%\\%g' $$file.tmp >$$file; then :; else exit 1; fi; \
+               rm -f $$file.tmp; \
+       done
 
 
 package-win32-base: package-win32-base-debug package-win-common-strip
@@ -787,7 +865,9 @@ package-win32-base-exe: package-win32-base
            MAKENSIS="makensis -DVERSION=${VERSION}"; \
        elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
            MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
-       elif wine --version >dev/null 2>&1; then \
+       elif [ -x "${PROGRAMFILES}/NSIS/makensis" ]; then \
+           MAKENSIS="${PROGRAMFILES}/NSIS/makensis -DVERSION=${VERSION}"; \
+       elif wine --version >/dev/null 2>&1; then \
            MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
        else \
            echo 'Error: cannot locate makensis tool'; exit 1; \
@@ -825,7 +905,9 @@ package-win32-7zip: package-win32-base-7zip
 # Clean up
        rm -Rf $(top_builddir)/vlc-${VERSION}
 
-package-win32: package-win32-base-exe package-win32-base-zip
+package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip
+
+package-win32: package-win32-no-clean
 # Clean up
        rm -Rf $(top_builddir)/vlc-${VERSION}
 
@@ -858,7 +940,7 @@ package-beos:
        xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
        find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
        mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
-       (cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
+       (cd $(srcdir)/tmp && zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
        mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
        mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
 
@@ -869,7 +951,7 @@ package-beos:
        xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
        find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
        mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
-       (cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
+       (cd $(srcdir)/tmp &&  zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
        mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
 
 # Clean up
@@ -884,20 +966,55 @@ package-macosx:
        echo "Create package directory: vlc-${VERSION}/";
        mkdir -p "$(top_builddir)/vlc-${VERSION}/";
 
+# For now, export the framework for third parties, from here
+       (cd $(top_builddir)/extras/MacOSX/Framework && xcodebuild);
+       cp -r $(top_builddir)/extras/MacOSX/Framework/build/Release/VLC.framework $(top_builddir)/vlc-${VERSION}/VLC.framework
+
 # Copy relevant files 
        @if test -e "$(top_builddir)/VLC-release.app/"; then \
          cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
        else \
          cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
        fi
-       cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/vlc-${VERSION}/ && cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/vlc-${VERSION}/
+       cd "$(srcdir)" && mkdir -p $(top_builddir)/vlc-${VERSION}/Goodies/ && \
+          mkdir -p $(top_builddir)/vlc-${VERSION}/.background/ && \
+          cp AUTHORS COPYING ChangeLog README THANKS NEWS $(top_builddir)/vlc-${VERSION}/Goodies/ && \
+          cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/vlc-${VERSION}/Goodies/Delete\ VLC\ Preferences.app && \
+         cp README.MacOSX.rtf $(top_builddir)/vlc-${VERSION}/Read\ Me.rtf && \
+         cp extras/MacOSX/Resources/about_bg.png $(top_builddir)/vlc-${VERSION}/.background/background.png ;
+
+# Place a link to the application folder
+       ln -s /Applications $(top_builddir)/vlc-${VERSION}/Applications ;
 
 # Create disk image 
        echo "Creating disk image" ;
        rm -f "$(top_builddir)/vlc-${VERSION}.dmg" ;
        hdiutil create -srcfolder "$(top_builddir)/vlc-${VERSION}" \
-         "$(top_builddir)/vlc-${VERSION}.dmg" -format UDZO \
+         "$(top_builddir)/vlc-${VERSION}.dmg" -format UDRW \
          -scrub -imagekey zlib-level=9 ;
+
+# Make sure the root window of the dmg will pop up when the dmg is mounted.
+# Note: We dont mount in /Volumes to be sure we won't collide with an other
+# finder mounted dmg with the same name.
+       echo "Make sure the root window of the dmg will pop up when the dmg is mounted" ;
+       mkdir -p $(top_builddir)/vlcmnt ;
+       hdiutil attach -readwrite -noverify -noautoopen "$(top_builddir)/vlc-${VERSION}.dmg" -mountpoint "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
+       bless --folder "$(top_builddir)/vlcmnt/vlc-${VERSION}/" --openfolder "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
+       sleep 1 # Make sure operation completes
+       cd "$(srcdir)"
+
+# Unmount the image now
+       hdiutil detach "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
+       rm -R $(top_builddir)/vlcmnt ;
+
+# Make sure the image is not writable
+# Note: We can't directly create a read only dmg as we do the bless stuff
+       echo "Make the disk image read-only" ;
+       mv "$(top_builddir)/vlc-${VERSION}.dmg" "$(top_builddir)/vlc-${VERSION}-rw.dmg" ;
+       hdiutil convert "$(top_builddir)/vlc-${VERSION}-rw.dmg" -format UDZO -o "$(top_builddir)/vlc-${VERSION}.dmg" ;
+       rm "$(top_builddir)/vlc-${VERSION}-rw.dmg" ;
+
+# We are done
        echo "Disk image creation completed:" ;
        ls -la "$(top_builddir)/vlc-${VERSION}.dmg" ; echo ;
 
@@ -911,7 +1028,7 @@ if BUILD_MOZILLA
        mkdir -p "$(top_builddir)/macosx-plugin-instdata"
        cp -R "$(top_builddir)/mozilla/VLC Plugin.plugin" "$(top_builddir)/macosx-plugin-instdata"
        rm -rf "$(top_builddir)/VLC Internet Plug-In.pkg"
-       /Developer/Tools/packagemaker -build -ds -p "$(top_builddir)/VLC Internet Plug-In.pkg" \
+       PATH=/Developer/usr/bin:/Developer/Tools:$$PATH packagemaker -build -ds -p "$(top_builddir)/VLC Internet Plug-In.pkg" \
        -f "$(top_builddir)/macosx-plugin-instdata" \
        -i "$(srcdir)/extras/MacOSX/plugin/InstallerInfo.plist" \
        -d "$(srcdir)/extras/MacOSX/plugin/InstallerDescription.plist"; true
@@ -937,7 +1054,7 @@ package-translations:
          echo "OK."; mkdir -p "$(srcdir)/vlc-translations-${VERSION}"; \
        fi
 # Copy translations
-       for i in $(ALL_LINGUAS); do \
+       cat $(top_srcdir)/po/LINGUAS | while read i; do \
          cp "$(srcdir)/po/$${i}.po" \
            "$(srcdir)/vlc-translations-${VERSION}/$${i}.po" \
            || true ; \
@@ -959,24 +1076,28 @@ package-translations:
 
 ###############################################################################
 # PO translation files update
+# Generate po/POTFILES.in which lists all the files containing translatable
+# strings. Find all source files and remove the generated files
 ###############################################################################
 .PHONY: update-po
 
 update-po:
        rm -f $(top_srcdir)/po/POTFILES.in
        { \
-         cd $(top_srcdir) ; \
+         cd $(top_srcdir) && \
          echo "# automatically created by make 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\|include/vlc_about.h\)' \
            | sort ; \
          echo "" ; \
          echo "# modules" ; \
-         find modules -name '*.[chm]' -o -name '*.[ch]pp' -o -wholename 'modules/gui/qt4/ui/*.ui'\
+         find modules -name '*.[chm]' -o -name '*.[ch]pp' -o -name '*.ui' \
            | grep -v '\(\.moc\.\|gui/gtk2/\)' \
-           | grep -vE 'qt4/ui/.*.h' |grep -v qt4/resources.cpp \
+           | grep -vE 'qt4/ui/.*.h' \
+           | grep -v 'qt4/resources.cpp\|qt4/dialogs/about.hpp' \
+           | grep -v 'gui/opie' \
            | sort ; \
        } > $(top_srcdir)/po/POTFILES.in
        rm -f $(top_srcdir)/po/vlc.pot
@@ -987,22 +1108,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: