Makefile.am: split macosx and win32 packaging into their own files
authorRafaël Carré <funman@videolan.org>
Sat, 19 Nov 2011 04:47:01 +0000 (23:47 -0500)
committerRafaël Carré <funman@videolan.org>
Sat, 19 Nov 2011 06:47:25 +0000 (01:47 -0500)
Makefile.am
extras/package/macosx/package.mak [new file with mode: 0644]
extras/package/win32/package.mak [new file with mode: 0644]

index b4a3207..9542e0c 100644 (file)
@@ -62,10 +62,6 @@ dist_noinst_SCRIPTS = bootstrap
 nodist_noinst_SCRIPTS = compile
 
 BUILT_SOURCES_distclean =
-if HAVE_WIN32
-BUILT_SOURCES_distclean += \
-       extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi
-endif
 
 BUILT_SOURCES = $(BUILT_SOURCES_distclean)
 
@@ -411,13 +407,6 @@ endif
 vlc$(EXEEXT):
        $(AM_V_GEN)$(LN_S) -f bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
 
-if HAVE_DARWIN
-if BUILD_MACOSX_VLC_APP
-# Create the MacOS X app
-noinst_DATA = VLC.app
-endif
-endif
-
 ###############################################################################
 # Installing plugins cache
 ###############################################################################
@@ -434,485 +423,6 @@ silentstd = $(silentstd_$(V))
 silentstd_ = $(silentstd_$(AM_DEFAULT_VERBOSITY))
 silentstd_0 = 2>&1 >/dev/null
 
-# VLC-release.app for packaging and giving it to your friends
-# use package-macosx to get a nice dmg
-VLC-release.app: vlc
-       ( cd src && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd) )
-       ( cd lib && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd) )
-       rm -Rf "$(top_builddir)/tmp"
-       mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
-       rm -Rf $(top_builddir)/VLC-release.app
-       for i in vlc.xcodeproj Resources README.MacOSX.rtf ; do \
-         cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
-       done
-       REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
-       cat $(top_builddir)/extras/package/macosx/Info.plist | \
-       sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
-       cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
-       for i in AUTHORS COPYING THANKS; do \
-         cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
-       done
-       mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
-       cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
-       mkdir -p $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
-       cp -R $(CONTRIB_DIR)/BGHUDAppKit/BGHUDAppKit.framework $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
-       mkdir -p $(top_builddir)/tmp/extras/contrib/Growl
-       cp -R $(CONTRIB_DIR)/Growl/Growl.framework $(top_builddir)/tmp/extras/contrib/Growl
-       mkdir -p $(top_builddir)/tmp/modules/audio_output
-       mkdir -p $(top_builddir)/tmp/modules/gui/macosx
-       for i in \
-           AppleRemote.h \
-           AppleRemote.m \
-           about.h \
-           about.m \
-           applescript.h \
-           applescript.m \
-           controls.h \
-           controls.m \
-           intf.h \
-           intf.m \
-           macosx.m \
-           misc.h \
-           misc.m \
-           open.h \
-           open.m \
-           output.h \
-           output.m \
-           playlist.h \
-           playlist.m \
-           playlistinfo.h \
-           playlistinfo.m \
-           prefs_widgets.h \
-           prefs_widgets.m \
-           prefs.h \
-           prefs.m \
-           simple_prefs.h \
-           simple_prefs.m \
-           wizard.h \
-           wizard.m \
-           bookmarks.h \
-           bookmarks.m \
-           coredialogs.h \
-           coredialogs.m \
-           fspanel.h \
-           fspanel.m; do \
-         cp "$(srcdir)/modules/gui/macosx/$$i" \
-             $(top_builddir)/tmp/modules/gui/macosx; \
-       done
-       $(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
-       xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
-       cd ../../../../ && \
-       cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC-release.app; \
-       rm -Rf $(top_builddir)/tmp
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
-       PRODUCT="VLC-release.app" ACTION="release-makefile" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/projects/macosx/framework/Pre-Compile.sh
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua
-       for i in $(srcdir)/share/lua/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/`basename $${i}` ; \
-       done ; \
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/playlist
-       for i in $(srcdir)/share/lua/playlist/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/playlist/`basename $${i}` ; \
-       done ; \
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/meta
-       for i in $(srcdir)/share/lua/meta/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/meta/`basename $${i}` ; \
-       done ; \
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf
-       for i in $(srcdir)/share/lua/intf/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/`basename $${i}` ; \
-       done ; \
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/modules
-       for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/modules/`basename $${i}` ; \
-       done ; \
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/dialogs
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/js
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/images
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests
-       $(INSTALL) -m 644 $(srcdir)/share/lua/http/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/.hosts
-       for i in $(srcdir)/share/lua/http/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/`basename $${i}` ; \
-       done
-       for i in $(srcdir)/share/lua/http/dialogs/* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/dialogs/`basename $${i}` ; \
-       done
-       for i in $(srcdir)/share/lua/http/js/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/js/`basename $${i}` ; \
-       done
-       for i in $(srcdir)/share/lua/http/images/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/images/`basename $${i}` ; \
-       done
-       for i in $(srcdir)/share/lua/http/requests/*.* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/`basename $${i}` ; \
-       done
-       $(INSTALL) -m 644 $(srcdir)/share/lua/http/requests/README.txt $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/README.txt
-       $(INSTALL) -m 644 $(srcdir)/share/vlc512x512.png $(top_builddir)/VLC-release.app/Contents/MacOS/share/vlc512x512.png
-       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale
-       cat $(top_srcdir)/po/LINGUAS | while read i; do \
-         $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
-         $(INSTALL) $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
-         mkdir -p $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
-         $(LN_S) -f ../English.lproj/InfoPlist.strings \
-             $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
-         $(LN_S) -f ../English.lproj/MainMenu.xib \
-             $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
-       done
-       printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
-       rm -Rf $(top_builddir)/VLC-release.app/Contents/Frameworks/BGHUDAppKit.framework/Resources/
-       find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
-       find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
-
-# This is just for development purposes. 
-# The resulting VLC.app will only run in this tree.
-VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/lib/.libs/libvlc.dylib
-       $(AM_V_GEN)(cd src && make install $(silentstd))
-       $(AM_V_GEN)(cd lib && make install $(silentstd))
-       rm -Rf $(top_builddir)/tmp
-       mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
-       rm -Rf $(top_builddir)/VLC.app
-       for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
-         cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
-       done
-       REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
-       cat $(top_builddir)/extras/package/macosx/Info.plist | \
-       sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
-       cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
-       for i in AUTHORS COPYING THANKS; do \
-         cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
-       done
-       mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
-       cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
-       mkdir -p $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
-       cp -R $(CONTRIB_DIR)/BGHUDAppKit/BGHUDAppKit.framework $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
-       mkdir -p $(top_builddir)/tmp/extras/contrib/Growl
-       cp -R $(CONTRIB_DIR)/Growl/Growl.framework $(top_builddir)/tmp/extras/contrib/Growl
-       mkdir -p $(top_builddir)/tmp/modules/audio_output
-       mkdir -p $(top_builddir)/tmp/modules/gui/macosx
-       for i in \
-           AppleRemote.h \
-           AppleRemote.m \
-           about.h \
-           about.m \
-           applescript.h \
-           applescript.m \
-           controls.h \
-           controls.m \
-           intf.h \
-           intf.m \
-           macosx.m \
-           misc.h \
-           misc.m \
-           open.h \
-           open.m \
-           output.h \
-           output.m \
-           playlist.h \
-           playlist.m \
-           playlistinfo.h \
-           playlistinfo.m \
-           prefs_widgets.h \
-           prefs_widgets.m \
-           prefs.h \
-           prefs.m \
-           simple_prefs.h \
-           simple_prefs.m \
-           wizard.h \
-           wizard.m \
-           bookmarks.h \
-           bookmarks.m \
-           coredialogs.h \
-           coredialogs.m \
-           fspanel.h \
-           fspanel.m; do \
-         cp "$(srcdir)/modules/gui/macosx/$$i" \
-             $(top_builddir)/tmp/modules/gui/macosx; \
-       done
-       $(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
-       xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
-       cd ../../../../ && \
-       cp -R -L $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC.app
-       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
-       touch $(top_builddir)/VLC.app/Contents/MacOS/VLC
-       chmod +x $(top_builddir)/VLC.app/Contents/MacOS/VLC
-       $(INSTALL) $(top_builddir)/bin/.libs/vlc $(top_builddir)/VLC.app/Contents/MacOS/VLC
-       $(LN_S) -f ../../../modules $(top_builddir)/VLC.app/Contents/MacOS/plugins
-       install -d $(top_builddir)/VLC.app/Contents/MacOS/share
-       for i in `ls $(srcdir)/share`; do \
-          $(LN_S) -f `pwd`/$(srcdir)/share/$$i $(top_builddir)/VLC.app/Contents/MacOS/share/; \
-       done
-       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/locale
-       cat $(top_srcdir)/po/LINGUAS | while read i; do \
-         mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
-         $(LN_S) -f `pwd`/$(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
-         mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
-         $(LN_S) -f ../English.lproj/InfoPlist.strings \
-             $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
-         $(LN_S) -f ../English.lproj/MainMenu.xib \
-             $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
-       done
-       printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
-
-############################################################################
-## Win                                                                    ##
-############################################################################
-destdir=$(prefix)
-win32_destdir=$(top_builddir)/vlc-$(VERSION)
-win32_debugdir=$(top_builddir)/symbols-$(VERSION)
-win32_xpi_destdir=$(win32_destdir)/vlc-plugin
-
-if HAVE_WINCE
-build-npapi:
-       touch $@
-else
-if HAVE_WIN32
-include extras/package/npapi.am
-endif
-endif
-
-package-win-install:
-       $(MAKE) install
-       touch $@
-
-#Win-common is for win32 and wince
-package-win-common: package-win-install build-npapi
-       mkdir -p "$(win32_debugdir)"
-       mkdir -p "$(win32_destdir)"
-
-# Executables, major libs+manifests
-       find $(destdir) -maxdepth 4 \( -name "*$(LIBEXT)" -o -name "*$(EXEEXT)" \) -exec cp {} "$(win32_destdir)/" \;
-       for file in $(top_srcdir)/extras/package/win32/vlc$(EXEEXT).manifest \
-                $(top_srcdir)/extras/package/win32/libvlc$(LIBEXT).manifest; \
-           do cp $$file "$(win32_destdir)/" ; done;
-
-# Text files and clean them
-       for file in AUTHORS THANKS ; \
-         do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
-       for file in NEWS COPYING README; \
-         do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
-
-# Necessary icon
-       cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)
-
-# Locales
-       -cp -r $(destdir)/share/locale $(win32_destdir)
-
-# Plugins
-       cp -r $(destdir)/lib/vlc/plugins $(win32_destdir)
-
-if BUILD_LUA
-       mkdir -p $(win32_destdir)/lua
-       cp -r $(destdir)/lib/vlc/lua/* $(win32_destdir)/lua
-       cp -r $(destdir)/share/vlc/lua/* $(win32_destdir)/lua
-endif
-
-if BUILD_SKINS
-       cp -r $(destdir)/share/vlc/skins2 $(win32_destdir)/skins
-endif
-if BUILD_OSDMENU
-       cp -r $(destdir)/share/vlc/osdmenu "$(win32_destdir)/osdmenu"
-       for file in $(win32_destdir)/osdmenu/*.cfg; do \
-               sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
-               sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
-               rm -f -- "$$file.tmp"; \
-       done
-endif
-
-if !HAVE_WINCE
-if !HAVE_WIN64
-       cp "$(top_builddir)/npapi-vlc/activex/axvlc.dll.manifest" "$(win32_destdir)/"
-       cp "$(top_builddir)/npapi-vlc/installed/lib/axvlc.dll" "$(win32_destdir)/"
-endif
-       cp "$(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest" "$(win32_destdir)/"
-       cp "$(top_builddir)/npapi-vlc/installed/lib/npvlc.dll" "$(win32_destdir)/"
-endif
-
-# Compiler shared DLLs, when using compilers built with --enable-shared
-# If gcc_s_sjlj/stdc++-6 DLLs exist, our C++ modules were linked to them
-       gcc_lib_dir=`$(CXX) -v /dev/null 2>&1 | grep ^LIBRARY_PATH|cut -d= -f2|cut -d: -f1` ; \
-       cp "$${gcc_lib_dir}/libstdc++-6.dll" "$${gcc_lib_dir}/libgcc_s_sjlj-1.dll" "$(win32_destdir)/" ; true
-
-# SDK
-       mkdir -p "$(win32_destdir)/sdk/lib"
-       cp -r $(destdir)/include "$(win32_destdir)/sdk"
-       cp -r $(destdir)/lib/pkgconfig "$(win32_destdir)/sdk/lib"
-       for file in libvlc.dll.a libvlc.la libvlccore.dll.a libvlccore.la; do \
-               cp -rv $(destdir)/lib/$$file "$(win32_destdir)/sdk/lib"; \
-       done
-if !HAVE_WINCE
-       $(DLLTOOL) -D libvlc.dll -l "$(win32_destdir)/sdk/lib/libvlc.lib" -d "$(top_builddir)/lib/.libs/libvlc.dll.def" "$(destdir)/bin/libvlc.dll"
-       $(DLLTOOL) -D libvlccore.dll -l "$(win32_destdir)/sdk/lib/libvlccore.lib" -d "$(top_builddir)/src/.libs/libvlccore.dll.def" "$(destdir)/bin/libvlccore.dll"
-
-if !HAVE_WIN64
-       mkdir -p "$(win32_destdir)/sdk/activex"
-       cp $(top_builddir)/npapi-vlc/activex/README.TXT $(win32_destdir)/sdk/activex/README.TXT
-       cp $(top_builddir)/npapi-vlc/share/test.html $(win32_destdir)/sdk/activex/
-endif
-endif
-
-       find $(win32_destdir) -type f \( -name "*xml" -or -name "*html" -or -name '*js' -or -name '*css' -or -name '*hosts' -or -iname '*txt' -or -name '*.cfg' -or -name '*.lua' \) -exec $(U2D) {} \;
-
-#Enable DEP and ASLR for all the binaries
-       find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -print -o -name '*$(EXEEXT)' -print \) -exec $(top_srcdir)/extras/package/win32/peflags.pl {} \;
-       find $(win32_destdir)/plugins/ -type f \( -name '*.a' -or -name '*.la' \) -exec rm -rvf {} \;
-
-package-win-strip: package-win-common
-       find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \
-       do if test -n "$$i" ; then \
-           $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
-           $(OBJCOPY) --strip-all "$$i" ; \
-           $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
-           mv "$$i.dbg" "$(win32_debugdir)"; \
-         fi ; \
-       done
-
-package-win32-webplugin-common: package-win-strip
-       mkdir -p "$(win32_xpi_destdir)/plugins"
-       find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
-       cp $(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins"
-       cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_xpi_destdir)/plugins"
-       cp -r $(win32_destdir)/plugins/ "$(win32_xpi_destdir)/plugins"
-       rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*"
-       rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*"
-
-package-win32-xpi: package-win32-webplugin-common
-       cp $(top_builddir)/npapi-vlc/npapi/install.rdf "$(win32_xpi_destdir)"
-       cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins
-
-package-win32-crx: package-win32-webplugin-common
-       cp $(top_builddir)/npapi-vlc/npapi/manifest.json "$(win32_xpi_destdir)"
-       crxmake --pack-extension "$(win32_xpi_destdir)" \
-               --extension-output "$(win32_destdir)/vlc-$(VERSION).crx" --ignore-file install.rdf
-
-package-win32-exe: package-win-strip
-# Script installer
-       cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
-       cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/"
-       mkdir -p "$(win32_destdir)/languages"
-       cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
-# Copy the UAC NSIS plugin
-       mkdir -p "$(win32_destdir)/NSIS"
-       cp "$(top_srcdir)/extras/package/win32/UAC.nsh" "$(win32_destdir)/NSIS"
-       cp "$(top_srcdir)/extras/package/win32/UAC.dll" "$(win32_destdir)/NSIS"
-
-# Create package
-       if makensis -VERSION >/dev/null 2>&1; then \
-           MAKENSIS="makensis"; \
-       elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
-           MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
-       elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
-           MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
-       elif wine --version >/dev/null 2>&1; then \
-           MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
-       else \
-           echo 'Error: cannot locate makensis tool'; exit 1; \
-       fi; \
-       eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
-       eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
-
-package-win32-zip: package-win-strip
-       rm -f -- vlc-$(VERSION)-win32.zip
-       zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
-
-package-win32-debug-zip: package-win-common
-       rm -f -- vlc-$(VERSION)-win32-debug.zip
-       zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)
-
-package-win32-7zip: package-win-strip
-       7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
-
-package-win32-debug-7zip: package-win-common
-       7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32-debug.7z vlc-$(VERSION)
-
-package-win32-cleanup:
-       rm -Rf $(win32_destdir) $(win32_debugdir)
-
-package-win32: package-win32-zip package-win32-7zip package-win32-exe package-win32-xpi
-
-package-win32-debug: package-win32-debug-zip package-win32-debug-7zip
-
-
-#######
-# WinCE
-#######
-package-wince: package-win-strip
-       rm -f -- vlc-$(VERSION)-wince.zip
-       zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
-
-.PHONY: package-win-install package-win-common package-win-strip package-win32-webplugin-common package-win32-xpi package-win32-crx package-win32-exe package-win32-zip package-win32-debug-zip package-win32-7zip package-win32-debug-7zip package-win32-cleanup package-win32 package-win32-debug package-wince
-
-#########################################################################
-## MacOS X                                                             ##
-#########################################################################
-package-macosx: VLC-release.app ChangeLog
-       mkdir -p "$(top_builddir)/vlc-$(VERSION)/"
-       @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
-       mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/
-       for i in AUTHORS COPYING README THANKS NEWS; do \
-         cp $(srcdir)/$$i $(top_builddir)/vlc-$(VERSION)/Goodies/; \
-       done
-       cp $(top_builddir)/ChangeLog $(top_builddir)/vlc-$(VERSION)/Goodies/
-       cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app $(top_builddir)/vlc-$(VERSION)/Goodies/Delete\ VLC\ Preferences.app
-       cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
-       mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/
-       cp $(srcdir)/extras/package/macosx/Resources/about_bg.png $(top_builddir)/vlc-$(VERSION)/.background/background.png
-       $(LN_S) /Applications $(top_builddir)/vlc-$(VERSION)/
-       rm -f "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
-       hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -scrub
-# Make sure the image is not writable
-# Note: We can't directly create a read only dmg as we do the bless stuff
-       hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
-       ls -l "$(top_builddir)/vlc-$(VERSION).dmg"
-
-package-macosx-zip: VLC-release.app
-       mkdir -p $(top_builddir)/vlc-$(VERSION)
-       cp -R $(top_builddir)/VLC-release.app $(top_builddir)/vlc-$(VERSION)/VLC.app
-       mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies
-       for i in AUTHORS COPYING ChangeLog README THANKS NEWS; do \
-         cp $(srcdir)/$$i $(top_builddir)/vlc-$(VERSION)/Goodies; \
-       done
-       cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app \
-            $(top_builddir)/vlc-$(VERSION)/Goodies
-       cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf \
-          $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
-       zip -r -y -9 $(top_builddir)/vlc-$(VERSION).zip $(top_builddir)/vlc-$(VERSION)
-
-package-macosx-framework-zip:
-       mkdir -p $(top_builddir)/vlckit-$(VERSION)
-       cp -R $(srcdir)/projects/macosx/framework/build/Debug/VLCKit.framework $(top_builddir)/vlckit-$(VERSION)/
-       mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies
-       for i in AUTHORS COPYING ChangeLog README THANKS NEWS; do \
-         cp $(srcdir)/$$i $(top_builddir)/vlckit-$(VERSION)/Goodies; \
-       done
-       zip -r -y -9 $(top_builddir)/vlckit-$(VERSION).zip $(top_builddir)/vlckit-$(VERSION)
-
-package-translations:
-       mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"
-       cat $(top_srcdir)/po/LINGUAS | while read i; do \
-         cp "$(srcdir)/po/$${i}.po" \
-           "$(srcdir)/vlc-translations-$(VERSION)/$${i}.po" \
-           || true ; \
-       done
-       cp "$(srcdir)/doc/translations.txt" \
-         "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
-
-       echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
-       echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
-       echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
-       echo "  echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
-       echo "  exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
-       echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
-       echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
-       echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
-
-       $(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
-         | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz
-
-.PHONY: package-macosx package-macosx-zip package-macosx-framework-zip package-translations
 ###############################################################################
 # PO translation files update
 ###############################################################################
@@ -920,3 +430,10 @@ package-translations:
 
 update-po:
        cd po && $(MAKE) POTFILES vlc.pot update-po
+
+###############################################################################
+# OS Packaging rules
+###############################################################################
+include extras/package/macosx/package.mak
+include extras/package/win32/package.mak
+
diff --git a/extras/package/macosx/package.mak b/extras/package/macosx/package.mak
new file mode 100644 (file)
index 0000000..fdb347b
--- /dev/null
@@ -0,0 +1,295 @@
+if HAVE_DARWIN
+if BUILD_MACOSX_VLC_APP
+# Create the MacOS X app
+noinst_DATA = VLC.app
+endif
+endif
+
+# VLC-release.app for packaging and giving it to your friends
+# use package-macosx to get a nice dmg
+VLC-release.app: vlc
+       ( cd src && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd) )
+       ( cd lib && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd) )
+       rm -Rf "$(top_builddir)/tmp"
+       mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
+       rm -Rf $(top_builddir)/VLC-release.app
+       for i in vlc.xcodeproj Resources README.MacOSX.rtf ; do \
+         cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
+       done
+       REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
+       cat $(top_builddir)/extras/package/macosx/Info.plist | \
+       sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
+       cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
+       for i in AUTHORS COPYING THANKS; do \
+         cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
+       done
+       mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
+       cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
+       mkdir -p $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
+       cp -R $(CONTRIB_DIR)/BGHUDAppKit/BGHUDAppKit.framework $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
+       mkdir -p $(top_builddir)/tmp/extras/contrib/Growl
+       cp -R $(CONTRIB_DIR)/Growl/Growl.framework $(top_builddir)/tmp/extras/contrib/Growl
+       mkdir -p $(top_builddir)/tmp/modules/audio_output
+       mkdir -p $(top_builddir)/tmp/modules/gui/macosx
+       for i in \
+           AppleRemote.h \
+           AppleRemote.m \
+           about.h \
+           about.m \
+           applescript.h \
+           applescript.m \
+           controls.h \
+           controls.m \
+           intf.h \
+           intf.m \
+           macosx.m \
+           misc.h \
+           misc.m \
+           open.h \
+           open.m \
+           output.h \
+           output.m \
+           playlist.h \
+           playlist.m \
+           playlistinfo.h \
+           playlistinfo.m \
+           prefs_widgets.h \
+           prefs_widgets.m \
+           prefs.h \
+           prefs.m \
+           simple_prefs.h \
+           simple_prefs.m \
+           wizard.h \
+           wizard.m \
+           bookmarks.h \
+           bookmarks.m \
+           coredialogs.h \
+           coredialogs.m \
+           fspanel.h \
+           fspanel.m; do \
+         cp "$(srcdir)/modules/gui/macosx/$$i" \
+             $(top_builddir)/tmp/modules/gui/macosx; \
+       done
+       $(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
+       xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
+       cd ../../../../ && \
+       cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC-release.app; \
+       rm -Rf $(top_builddir)/tmp
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
+       PRODUCT="VLC-release.app" ACTION="release-makefile" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/projects/macosx/framework/Pre-Compile.sh
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua
+       for i in $(srcdir)/share/lua/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/playlist
+       for i in $(srcdir)/share/lua/playlist/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/playlist/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/meta
+       for i in $(srcdir)/share/lua/meta/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/meta/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf
+       for i in $(srcdir)/share/lua/intf/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/modules
+       for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/modules/`basename $${i}` ; \
+       done ; \
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/dialogs
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/js
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/images
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests
+       $(INSTALL) -m 644 $(srcdir)/share/lua/http/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/.hosts
+       for i in $(srcdir)/share/lua/http/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/`basename $${i}` ; \
+       done
+       for i in $(srcdir)/share/lua/http/dialogs/* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/dialogs/`basename $${i}` ; \
+       done
+       for i in $(srcdir)/share/lua/http/js/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/js/`basename $${i}` ; \
+       done
+       for i in $(srcdir)/share/lua/http/images/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/images/`basename $${i}` ; \
+       done
+       for i in $(srcdir)/share/lua/http/requests/*.* ; do \
+         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/`basename $${i}` ; \
+       done
+       $(INSTALL) -m 644 $(srcdir)/share/lua/http/requests/README.txt $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/README.txt
+       $(INSTALL) -m 644 $(srcdir)/share/vlc512x512.png $(top_builddir)/VLC-release.app/Contents/MacOS/share/vlc512x512.png
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale
+       cat $(top_srcdir)/po/LINGUAS | while read i; do \
+         $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
+         $(INSTALL) $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
+         mkdir -p $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
+         $(LN_S) -f ../English.lproj/InfoPlist.strings \
+             $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
+         $(LN_S) -f ../English.lproj/MainMenu.xib \
+             $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
+       done
+       printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
+       rm -Rf $(top_builddir)/VLC-release.app/Contents/Frameworks/BGHUDAppKit.framework/Resources/
+       find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
+       find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
+
+# This is just for development purposes. 
+# The resulting VLC.app will only run in this tree.
+VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/lib/.libs/libvlc.dylib
+       $(AM_V_GEN)(cd src && make install $(silentstd))
+       $(AM_V_GEN)(cd lib && make install $(silentstd))
+       rm -Rf $(top_builddir)/tmp
+       mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
+       rm -Rf $(top_builddir)/VLC.app
+       for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
+         cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
+       done
+       REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
+       cat $(top_builddir)/extras/package/macosx/Info.plist | \
+       sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
+       cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
+       for i in AUTHORS COPYING THANKS; do \
+         cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
+       done
+       mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
+       cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
+       mkdir -p $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
+       cp -R $(CONTRIB_DIR)/BGHUDAppKit/BGHUDAppKit.framework $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
+       mkdir -p $(top_builddir)/tmp/extras/contrib/Growl
+       cp -R $(CONTRIB_DIR)/Growl/Growl.framework $(top_builddir)/tmp/extras/contrib/Growl
+       mkdir -p $(top_builddir)/tmp/modules/audio_output
+       mkdir -p $(top_builddir)/tmp/modules/gui/macosx
+       for i in \
+           AppleRemote.h \
+           AppleRemote.m \
+           about.h \
+           about.m \
+           applescript.h \
+           applescript.m \
+           controls.h \
+           controls.m \
+           intf.h \
+           intf.m \
+           macosx.m \
+           misc.h \
+           misc.m \
+           open.h \
+           open.m \
+           output.h \
+           output.m \
+           playlist.h \
+           playlist.m \
+           playlistinfo.h \
+           playlistinfo.m \
+           prefs_widgets.h \
+           prefs_widgets.m \
+           prefs.h \
+           prefs.m \
+           simple_prefs.h \
+           simple_prefs.m \
+           wizard.h \
+           wizard.m \
+           bookmarks.h \
+           bookmarks.m \
+           coredialogs.h \
+           coredialogs.m \
+           fspanel.h \
+           fspanel.m; do \
+         cp "$(srcdir)/modules/gui/macosx/$$i" \
+             $(top_builddir)/tmp/modules/gui/macosx; \
+       done
+       $(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
+       xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
+       cd ../../../../ && \
+       cp -R -L $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC.app
+       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
+       touch $(top_builddir)/VLC.app/Contents/MacOS/VLC
+       chmod +x $(top_builddir)/VLC.app/Contents/MacOS/VLC
+       $(INSTALL) $(top_builddir)/bin/.libs/vlc $(top_builddir)/VLC.app/Contents/MacOS/VLC
+       $(LN_S) -f ../../../modules $(top_builddir)/VLC.app/Contents/MacOS/plugins
+       install -d $(top_builddir)/VLC.app/Contents/MacOS/share
+       for i in `ls $(srcdir)/share`; do \
+          $(LN_S) -f `pwd`/$(srcdir)/share/$$i $(top_builddir)/VLC.app/Contents/MacOS/share/; \
+       done
+       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/locale
+       cat $(top_srcdir)/po/LINGUAS | while read i; do \
+         mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
+         $(LN_S) -f `pwd`/$(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
+         mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
+         $(LN_S) -f ../English.lproj/InfoPlist.strings \
+             $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
+         $(LN_S) -f ../English.lproj/MainMenu.xib \
+             $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
+       done
+       printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
+
+package-macosx: VLC-release.app ChangeLog
+       mkdir -p "$(top_builddir)/vlc-$(VERSION)/"
+       @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
+       mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/
+       for i in AUTHORS COPYING README THANKS NEWS; do \
+         cp $(srcdir)/$$i $(top_builddir)/vlc-$(VERSION)/Goodies/; \
+       done
+       cp $(top_builddir)/ChangeLog $(top_builddir)/vlc-$(VERSION)/Goodies/
+       cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app $(top_builddir)/vlc-$(VERSION)/Goodies/Delete\ VLC\ Preferences.app
+       cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
+       mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/
+       cp $(srcdir)/extras/package/macosx/Resources/about_bg.png $(top_builddir)/vlc-$(VERSION)/.background/background.png
+       $(LN_S) /Applications $(top_builddir)/vlc-$(VERSION)/
+       rm -f "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
+       hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -scrub
+# Make sure the image is not writable
+# Note: We can't directly create a read only dmg as we do the bless stuff
+       hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
+       ls -l "$(top_builddir)/vlc-$(VERSION).dmg"
+
+package-macosx-zip: VLC-release.app
+       mkdir -p $(top_builddir)/vlc-$(VERSION)
+       cp -R $(top_builddir)/VLC-release.app $(top_builddir)/vlc-$(VERSION)/VLC.app
+       mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies
+       for i in AUTHORS COPYING ChangeLog README THANKS NEWS; do \
+         cp $(srcdir)/$$i $(top_builddir)/vlc-$(VERSION)/Goodies; \
+       done
+       cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app \
+            $(top_builddir)/vlc-$(VERSION)/Goodies
+       cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf \
+          $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
+       zip -r -y -9 $(top_builddir)/vlc-$(VERSION).zip $(top_builddir)/vlc-$(VERSION)
+
+package-macosx-framework-zip:
+       mkdir -p $(top_builddir)/vlckit-$(VERSION)
+       cp -R $(srcdir)/projects/macosx/framework/build/Debug/VLCKit.framework $(top_builddir)/vlckit-$(VERSION)/
+       mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies
+       for i in AUTHORS COPYING ChangeLog README THANKS NEWS; do \
+         cp $(srcdir)/$$i $(top_builddir)/vlckit-$(VERSION)/Goodies; \
+       done
+       zip -r -y -9 $(top_builddir)/vlckit-$(VERSION).zip $(top_builddir)/vlckit-$(VERSION)
+
+package-translations:
+       mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"
+       cat $(top_srcdir)/po/LINGUAS | while read i; do \
+         cp "$(srcdir)/po/$${i}.po" \
+           "$(srcdir)/vlc-translations-$(VERSION)/$${i}.po" \
+           || true ; \
+       done
+       cp "$(srcdir)/doc/translations.txt" \
+         "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
+
+       echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
+       echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
+       echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
+       echo "  echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
+       echo "  exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
+       echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
+       echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
+       echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
+
+       $(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
+         | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz
+
+.PHONY: package-macosx package-macosx-zip package-macosx-framework-zip package-translations
diff --git a/extras/package/win32/package.mak b/extras/package/win32/package.mak
new file mode 100644 (file)
index 0000000..0a3f7e2
--- /dev/null
@@ -0,0 +1,189 @@
+if HAVE_WIN32
+BUILT_SOURCES_distclean += \
+       extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi
+endif
+
+win32_destdir=$(top_builddir)/vlc-$(VERSION)
+win32_debugdir=$(top_builddir)/symbols-$(VERSION)
+win32_xpi_destdir=$(win32_destdir)/vlc-plugin
+
+if HAVE_WINCE
+build-npapi:
+       touch $@
+else
+if HAVE_WIN32
+include extras/package/npapi.am
+endif
+endif
+
+package-win-install:
+       $(MAKE) install
+       touch $@
+
+#Win-common is for win32 and wince
+package-win-common: package-win-install build-npapi
+       mkdir -p "$(win32_debugdir)"
+       mkdir -p "$(win32_destdir)"
+
+# Executables, major libs+manifests
+       find $(prefix) -maxdepth 4 \( -name "*$(LIBEXT)" -o -name "*$(EXEEXT)" \) -exec cp {} "$(win32_destdir)/" \;
+       for file in $(top_srcdir)/extras/package/win32/vlc$(EXEEXT).manifest \
+                $(top_srcdir)/extras/package/win32/libvlc$(LIBEXT).manifest; \
+           do cp $$file "$(win32_destdir)/" ; done;
+
+# Text files and clean them
+       for file in AUTHORS THANKS ; \
+         do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
+       for file in NEWS COPYING README; \
+         do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
+
+# Necessary icon
+       cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)
+
+# Locales
+       -cp -r $(prefix)/share/locale $(win32_destdir)
+
+# Plugins
+       cp -r $(prefix)/lib/vlc/plugins $(win32_destdir)
+
+if BUILD_LUA
+       mkdir -p $(win32_destdir)/lua
+       cp -r $(prefix)/lib/vlc/lua/* $(win32_destdir)/lua
+       cp -r $(prefix)/share/vlc/lua/* $(win32_destdir)/lua
+endif
+
+if BUILD_SKINS
+       cp -r $(prefix)/share/vlc/skins2 $(win32_destdir)/skins
+endif
+if BUILD_OSDMENU
+       cp -r $(prefix)/share/vlc/osdmenu "$(win32_destdir)/osdmenu"
+       for file in $(win32_destdir)/osdmenu/*.cfg; do \
+               sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
+               sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
+               rm -f -- "$$file.tmp"; \
+       done
+endif
+
+if !HAVE_WINCE
+if !HAVE_WIN64
+       cp "$(top_builddir)/npapi-vlc/activex/axvlc.dll.manifest" "$(win32_destdir)/"
+       cp "$(top_builddir)/npapi-vlc/installed/lib/axvlc.dll" "$(win32_destdir)/"
+endif
+       cp "$(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest" "$(win32_destdir)/"
+       cp "$(top_builddir)/npapi-vlc/installed/lib/npvlc.dll" "$(win32_destdir)/"
+endif
+
+# Compiler shared DLLs, when using compilers built with --enable-shared
+# If gcc_s_sjlj/stdc++-6 DLLs exist, our C++ modules were linked to them
+       gcc_lib_dir=`$(CXX) -v /dev/null 2>&1 | grep ^LIBRARY_PATH|cut -d= -f2|cut -d: -f1` ; \
+       cp "$${gcc_lib_dir}/libstdc++-6.dll" "$${gcc_lib_dir}/libgcc_s_sjlj-1.dll" "$(win32_destdir)/" ; true
+
+# SDK
+       mkdir -p "$(win32_destdir)/sdk/lib"
+       cp -r $(prefix)/include "$(win32_destdir)/sdk"
+       cp -r $(prefix)/lib/pkgconfig "$(win32_destdir)/sdk/lib"
+       for file in libvlc.dll.a libvlc.la libvlccore.dll.a libvlccore.la; do \
+               cp -rv $(prefix)/lib/$$file "$(win32_destdir)/sdk/lib"; \
+       done
+if !HAVE_WINCE
+       $(DLLTOOL) -D libvlc.dll -l "$(win32_destdir)/sdk/lib/libvlc.lib" -d "$(top_builddir)/lib/.libs/libvlc.dll.def" "$(prefix)/bin/libvlc.dll"
+       $(DLLTOOL) -D libvlccore.dll -l "$(win32_destdir)/sdk/lib/libvlccore.lib" -d "$(top_builddir)/src/.libs/libvlccore.dll.def" "$(prefix)/bin/libvlccore.dll"
+
+if !HAVE_WIN64
+       mkdir -p "$(win32_destdir)/sdk/activex"
+       cp $(top_builddir)/npapi-vlc/activex/README.TXT $(win32_destdir)/sdk/activex/README.TXT
+       cp $(top_builddir)/npapi-vlc/share/test.html $(win32_destdir)/sdk/activex/
+endif
+endif
+
+       find $(win32_destdir) -type f \( -name "*xml" -or -name "*html" -or -name '*js' -or -name '*css' -or -name '*hosts' -or -iname '*txt' -or -name '*.cfg' -or -name '*.lua' \) -exec $(U2D) {} \;
+
+#Enable DEP and ASLR for all the binaries
+       find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -print -o -name '*$(EXEEXT)' -print \) -exec $(top_srcdir)/extras/package/win32/peflags.pl {} \;
+       find $(win32_destdir)/plugins/ -type f \( -name '*.a' -or -name '*.la' \) -exec rm -rvf {} \;
+
+package-win-strip: package-win-common
+       find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \
+       do if test -n "$$i" ; then \
+           $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
+           $(OBJCOPY) --strip-all "$$i" ; \
+           $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
+           mv "$$i.dbg" "$(win32_debugdir)"; \
+         fi ; \
+       done
+
+package-win32-webplugin-common: package-win-strip
+       mkdir -p "$(win32_xpi_destdir)/plugins"
+       find $(prefix) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
+       cp $(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins"
+       cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_xpi_destdir)/plugins"
+       cp -r $(win32_destdir)/plugins/ "$(win32_xpi_destdir)/plugins"
+       rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*"
+       rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*"
+
+package-win32-xpi: package-win32-webplugin-common
+       cp $(top_builddir)/npapi-vlc/npapi/install.rdf "$(win32_xpi_destdir)"
+       cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins
+
+package-win32-crx: package-win32-webplugin-common
+       cp $(top_builddir)/npapi-vlc/npapi/manifest.json "$(win32_xpi_destdir)"
+       crxmake --pack-extension "$(win32_xpi_destdir)" \
+               --extension-output "$(win32_destdir)/vlc-$(VERSION).crx" --ignore-file install.rdf
+
+package-win32-exe: package-win-strip
+# Script installer
+       cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
+       cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/"
+       mkdir -p "$(win32_destdir)/languages"
+       cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
+# Copy the UAC NSIS plugin
+       mkdir -p "$(win32_destdir)/NSIS"
+       cp "$(top_srcdir)/extras/package/win32/UAC.nsh" "$(win32_destdir)/NSIS"
+       cp "$(top_srcdir)/extras/package/win32/UAC.dll" "$(win32_destdir)/NSIS"
+
+# Create package
+       if makensis -VERSION >/dev/null 2>&1; then \
+           MAKENSIS="makensis"; \
+       elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
+           MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
+       elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
+           MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
+       elif wine --version >/dev/null 2>&1; then \
+           MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
+       else \
+           echo 'Error: cannot locate makensis tool'; exit 1; \
+       fi; \
+       eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
+       eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
+
+package-win32-zip: package-win-strip
+       rm -f -- vlc-$(VERSION)-win32.zip
+       zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
+
+package-win32-debug-zip: package-win-common
+       rm -f -- vlc-$(VERSION)-win32-debug.zip
+       zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)
+
+package-win32-7zip: package-win-strip
+       7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
+
+package-win32-debug-7zip: package-win-common
+       7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32-debug.7z vlc-$(VERSION)
+
+package-win32-cleanup:
+       rm -Rf $(win32_destdir) $(win32_debugdir)
+
+package-win32: package-win32-zip package-win32-7zip package-win32-exe package-win32-xpi
+
+package-win32-debug: package-win32-debug-zip package-win32-debug-7zip
+
+
+#######
+# WinCE
+#######
+package-wince: package-win-strip
+       rm -f -- vlc-$(VERSION)-wince.zip
+       zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
+
+.PHONY: package-win-install package-win-common package-win-strip package-win32-webplugin-common package-win32-xpi package-win32-crx package-win32-exe package-win32-zip package-win32-debug-zip package-win32-7zip package-win32-debug-7zip package-win32-cleanup package-win32 package-win32-debug package-wince
+