]> git.sesse.net Git - vlc/commitdiff
macosx packaging: simplify
authorRafaël Carré <funman@videolan.org>
Sat, 19 Nov 2011 05:53:17 +0000 (00:53 -0500)
committerRafaël Carré <funman@videolan.org>
Sat, 19 Nov 2011 06:47:25 +0000 (01:47 -0500)
reduce some shell constructs
copy whole share/ directory
Closes: #5439
copy .mo files and share/ for VLC-release.app too

Finally get rid of the horrible, out-of-sync duplication of VLC.app and VLC-release.app

extras/package/macosx/package.mak

index fdb347bcf5d5a3197d374ff29585b6a0350bffa5..161183d5182c3becfd01e22b09d0a67d8362fd0a 100644 (file)
@@ -5,153 +5,35 @@ noinst_DATA = VLC.app
 endif
 endif
 
+# This is just for development purposes. 
+# The resulting VLC.app will only run in this tree.
+VLC.app: VLC-tmp.app
+       rm -Rf $@
+       mv VLC-tmp.app $@
+       $(LN_S) -f ../../../modules $@/Contents/MacOS/plugins
+
 # 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 '{}' \;
+VLC-release.app: VLC-tmp.app
+       rm -Rf $@
+       mv VLC-tmp.app $@
+       PRODUCT="$@" ACTION="release-makefile" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/projects/macosx/framework/Pre-Compile.sh
+       find $@ -type d -exec chmod ugo+rx '{}' \;
+       find $@ -type f -exec chmod ugo+r '{}' \;
+       rm -Rf $@/Contents/Frameworks/BGHUDAppKit.framework/Resources/
 
-# 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
+
+VLC-tmp.app: vlc
+       $(AM_V_GEN)(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.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
+       cd $(srcdir)/extras/package/macosx; cp -R vlc.xcodeproj Resources README.MacOSX.rtf $(abs_top_builddir)/tmp/extras/package/macosx/
        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
+       cd "$(srcdir)"; cp AUTHORS COPYING THANKS $(abs_top_builddir)/tmp/
        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
@@ -160,7 +42,7 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/lib/.lib
        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 \
+       cd "$(srcdir)/modules/gui/macosx/" && cp \
            AppleRemote.h \
            AppleRemote.m \
            about.h \
@@ -195,46 +77,30 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/lib/.lib
            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
+           fspanel.m \
+                $(abs_top_builddir)/tmp/modules/gui/macosx/
+       cd $(top_builddir)/tmp/extras/package/macosx && \
+               xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd)
+       cp -R -L $(top_builddir)/tmp/build/Default/VLC.bundle $@
+       $(INSTALL) -d $@/Contents/MacOS/
+       $(INSTALL) -m 0755 $(top_builddir)/bin/.libs/vlc $@/Contents/MacOS/VLC
+       $(INSTALL) -d $@/Contents/MacOS/share/
+       cp -r $(srcdir)/share/lua $@/Contents/MacOS/share/
+       $(INSTALL) -m 644 $(srcdir)/share/vlc512x512.png $@/Contents/MacOS/share/vlc512x512.png
+       $(INSTALL) -d $@/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 ; \
+         $(INSTALL) -d $@/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
+         $(INSTALL) $(srcdir)/po/$${i}.gmo $@/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo; \
+         mkdir -p $@/Contents/Resources/$${i}.lproj/ ; \
+         $(LN_S) -f ../English.lproj/InfoPlist.strings ../English.lproj/MainMenu.xib \
+               $@/Contents/Resources/$${i}.lproj/ ; \
        done
-       printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
+       printf "APPLVLC#" >| $@/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
+       mkdir -p "$(top_builddir)/vlc-$(VERSION)/Goodies/"
+       cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"
+       cd $(srcdir); cp AUTHORS COPYING README THANKS NEWS $(abs_top_builddir)/vlc-$(VERSION)/Goodies/
        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
@@ -249,36 +115,25 @@ package-macosx: VLC-release.app ChangeLog
        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
+       cp -R $(top_builddir)/VLC-release.app $(top_builddir)/vlc-$(VERSION)/VLC.app
+       cd $(srcdir); cp AUTHORS COPYING ChangeLog README THANKS NEWS extras/package/macosx/Delete_Preferences.app \
+               $(abs_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)
+       mkdir -p $(top_builddir)/vlckit-$(VERSION)/Goodies/
        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
+       cd $(srcdir); cp AUTHORS COPYING ChangeLog README THANKS NEWS $(abs_top_builddir)/vlckit-$(VERSION)/Goodies/
        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 ; \
+       for i in `cat "$(top_srcdir)/po/LINGUAS"`; do \
+         cp "$(srcdir)/po/$${i}.po" "$(srcdir)/vlc-translations-$(VERSION)/" ; \
        done
-       cp "$(srcdir)/doc/translations.txt" \
-         "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
+       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"