From 1afe2b7a83b0cb997b1a7fa3423ac36c9a2edcd9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C3=ABl=20Carr=C3=A9?= Date: Sat, 19 Nov 2011 00:53:17 -0500 Subject: [PATCH] macosx packaging: simplify 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 | 247 ++++++------------------------ 1 file changed, 51 insertions(+), 196 deletions(-) diff --git a/extras/package/macosx/package.mak b/extras/package/macosx/package.mak index fdb347bcf5..161183d518 100644 --- a/extras/package/macosx/package.mak +++ b/extras/package/macosx/package.mak @@ -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" -- 2.39.5