]> git.sesse.net Git - vlc/blob - extras/package/macosx/package.mak
extras/package: fixed package script for OS X
[vlc] / extras / package / macosx / package.mak
1 if HAVE_DARWIN
2 if BUILD_MACOSX_VLC_APP
3 # Create the MacOS X app
4 noinst_DATA = VLC.app
5 endif
6 endif
7
8 # This is just for development purposes.
9 # The resulting VLC-dev.app will only run in this tree.
10 VLC-dev.app: VLC-tmp
11         rm -Rf $@
12         cp -R VLC-tmp $@
13         $(INSTALL) -m 0755 $(top_builddir)/bin/.libs/vlc $@/Contents/MacOS/VLC
14         $(LN_S) -f ../../../modules $@/Contents/MacOS/plugins
15
16 # VLC.app for packaging and giving it to your friends
17 # use package-macosx to get a nice dmg
18 VLC.app: VLC-tmp
19         rm -Rf $@
20         cp -R VLC-tmp $@
21         PRODUCT="$@" ACTION="release-makefile" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/extras/package/macosx/build-package.sh
22         find $@ -type d -exec chmod ugo+rx '{}' \;
23         find $@ -type f -exec chmod ugo+r '{}' \;
24         rm -Rf $@/Contents/Frameworks/BGHUDAppKit.framework/Resources/
25
26
27 VLC-tmp: vlc
28         $(AM_V_GEN)for i in src lib share; do \
29                 (cd $$i && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd)); \
30         done
31         rm -Rf "$(top_builddir)/tmp" "$@"
32         mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
33         cd $(srcdir)/extras/package/macosx; cp -R Resources README.MacOSX.rtf $(abs_top_builddir)/tmp/extras/package/macosx/
34         mkdir -p $(abs_top_builddir)/tmp/extras/package/macosx/vlc.xcodeproj/
35         sed -e s,../../../contrib,$(CONTRIB_DIR),g $(srcdir)/extras/package/macosx/vlc.xcodeproj/project.pbxproj \
36         > $(abs_top_builddir)/tmp/extras/package/macosx/vlc.xcodeproj/project.pbxproj
37         REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
38             sed "s/#REVISION#/$$REVISION/g" $(top_builddir)/extras/package/macosx/Info.plist \
39         > $(top_builddir)/tmp/extras/package/macosx/Info.plist
40         cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
41         cd "$(srcdir)"; cp AUTHORS COPYING THANKS $(abs_top_builddir)/tmp/
42         mkdir -p $(top_builddir)/tmp/modules/audio_output
43         mkdir -p $(top_builddir)/tmp/modules/gui/macosx
44         cd "$(srcdir)/modules/gui/macosx/" && cp *.h *.m $(abs_top_builddir)/tmp/modules/gui/macosx/
45         cd $(top_builddir)/tmp/extras/package/macosx && \
46                 xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd)
47         cp -R -L $(top_builddir)/tmp/build/Default/VLC.bundle $@
48         mkdir -p $@/Contents/Frameworks && cp -R -L $(CONTRIB_DIR)/Growl.framework $@/Contents/Frameworks/
49         mkdir -p $@/Contents/MacOS/share/locale/
50         cp -r "$(prefix)/lib/vlc/lua" "$(prefix)/share/vlc/lua" $@/Contents/MacOS/share/
51         mkdir -p $@/Contents/MacOS/include/
52         cp -r "$(srcdir)/include/vlc" $@/Contents/MacOS/include/
53         $(INSTALL) -m 644 $(srcdir)/share/vlc512x512.png $@/Contents/MacOS/share/vlc512x512.png
54         cat $(top_srcdir)/po/LINGUAS | while read i; do \
55           $(INSTALL) -d $@/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
56           $(INSTALL) $(srcdir)/po/$${i}.gmo $@/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo; \
57           mkdir -p $@/Contents/Resources/$${i}.lproj/ ; \
58           $(LN_S) -f ../English.lproj/InfoPlist.strings ../English.lproj/MainMenu.nib \
59                 $@/Contents/Resources/$${i}.lproj/ ; \
60         done
61         printf "APPLVLC#" >| $@/Contents/PkgInfo
62
63 package-macosx: VLC.app
64         mkdir -p "$(top_builddir)/vlc-$(VERSION)/Goodies/"
65         cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"
66         cd $(srcdir); cp AUTHORS COPYING README THANKS NEWS $(abs_top_builddir)/vlc-$(VERSION)/Goodies/
67         cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app $(top_builddir)/vlc-$(VERSION)/Goodies/Delete\ VLC\ Preferences.app
68         cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
69         $(LN_S) -f /Applications $(top_builddir)/vlc-$(VERSION)/
70         rm -f "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
71         hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -scrub -format UDRW
72         mkdir -p ./mount
73         hdiutil attach -readwrite -noverify -noautoopen -mountRoot ./mount "vlc-$(VERSION)-rw.dmg"
74         -osascript "$(srcdir)"/extras/package/macosx/dmg_setup.scpt "vlc-$(VERSION)"
75         hdiutil detach ./mount/"vlc-$(VERSION)"
76 # Make sure the image is not writable
77 # Note: We can't directly create a read only dmg as we do the bless stuff
78         rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
79         hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
80         ls -l "$(top_builddir)/vlc-$(VERSION).dmg"
81         rm -f "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
82         rm -rf "$(top_builddir)/vlc-$(VERSION)"
83
84 package-macosx-zip: VLC.app
85         mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/
86         cp -R $(top_builddir)/VLC.app $(top_builddir)/vlc-$(VERSION)/VLC.app
87         cd $(srcdir); cp -R AUTHORS COPYING README THANKS NEWS $(abs_top_builddir)/vlc-$(VERSION)/Goodies/
88         cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app $(top_builddir)/vlc-$(VERSION)/Goodies/Delete\ VLC\ Preferences.app
89         cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
90         zip -r -y -9 $(top_builddir)/vlc-$(VERSION).zip $(top_builddir)/vlc-$(VERSION)
91         rm -rf "$(top_builddir)/vlc-$(VERSION)"
92
93 package-translations:
94         mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"
95         for i in `cat "$(top_srcdir)/po/LINGUAS"`; do \
96           cp "$(srcdir)/po/$${i}.po" "$(srcdir)/vlc-translations-$(VERSION)/" ; \
97         done
98         cp "$(srcdir)/doc/translations.txt" "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
99
100         echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
101         echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
102         echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
103         echo "  echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
104         echo "  exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
105         echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
106         echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
107         echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
108
109         $(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
110           | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz
111
112 .PHONY: package-macosx package-macosx-zip package-translations