]> git.sesse.net Git - vlc/blob - extras/package/macosx/package.mak
e875c2d0428acc963910a92e2154b1bd04df6a02
[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.app will only run in this tree.
10 VLC.app: VLC-tmp.app
11         rm -Rf $@
12         mv VLC-tmp.app $@
13         $(INSTALL) -m 0755 $(top_builddir)/bin/.libs/vlc $@/Contents/MacOS/VLC
14         $(LN_S) -f ../../../modules $@/Contents/MacOS/plugins
15
16 # VLC-release.app for packaging and giving it to your friends
17 # use package-macosx to get a nice dmg
18 VLC-release.app: VLC-tmp.app
19         rm -Rf $@
20         mv VLC-tmp.app $@
21         PRODUCT="$@" ACTION="release-makefile" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/projects/macosx/framework/Pre-Compile.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.app: vlc
28         $(AM_V_GEN)(cd src && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd))
29         (cd lib && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd))
30         rm -Rf "$(top_builddir)/tmp" "$@"
31         mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
32         cd $(srcdir)/extras/package/macosx; cp -R Resources README.MacOSX.rtf $(abs_top_builddir)/tmp/extras/package/macosx/
33         mkdir -p $(abs_top_builddir)/tmp/extras/package/macosx/vlc.xcodeproj/
34         sed -e s,../../../contrib,$(CONTRIB_DIR),g $(srcdir)/extras/package/macosx/vlc.xcodeproj/project.pbxproj > $(abs_top_builddir)/tmp/extras/package/macosx/vlc.xcodeproj/project.pbxproj
35         REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
36         cat $(top_builddir)/extras/package/macosx/Info.plist | \
37         sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
38         cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
39         cd "$(srcdir)"; cp AUTHORS COPYING THANKS $(abs_top_builddir)/tmp/
40         if test -d $(CONTRIB_DIR)/Sparkle/Sparkle.framework; then \
41                 mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle; \
42                 cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle; \
43         fi
44         if test -d $(CONTRIB_DIR)/BGHUDAppKit/BGHUDAppKit.framework; then \
45                 mkdir -p $(top_builddir)/tmp/extras/contrib/BGHUDAppKit; \
46                 cp -R $(CONTRIB_DIR)/BGHUDAppKit/BGHUDAppKit.framework $(top_builddir)/tmp/extras/contrib/BGHUDAppKit; \
47         fi
48         if test -d $(CONTRIB_DIR)/Growl/Growl.framework; then \
49                 mkdir -p $(top_builddir)/tmp/extras/contrib/Growl; \
50                 cp -R $(CONTRIB_DIR)/Growl/Growl.framework $(top_builddir)/tmp/extras/contrib/Growl; \
51         fi
52         mkdir -p $(top_builddir)/tmp/modules/audio_output
53         mkdir -p $(top_builddir)/tmp/modules/gui/macosx
54         cd "$(srcdir)/modules/gui/macosx/" && cp \
55             AppleRemote.h \
56             AppleRemote.m \
57             about.h \
58             about.m \
59             applescript.h \
60             applescript.m \
61             controls.h \
62             controls.m \
63             intf.h \
64             intf.m \
65             macosx.m \
66             misc.h \
67             misc.m \
68             open.h \
69             open.m \
70             output.h \
71             output.m \
72             playlist.h \
73             playlist.m \
74             playlistinfo.h \
75             playlistinfo.m \
76             prefs_widgets.h \
77             prefs_widgets.m \
78             prefs.h \
79             prefs.m \
80             simple_prefs.h \
81             simple_prefs.m \
82             wizard.h \
83             wizard.m \
84             bookmarks.h \
85             bookmarks.m \
86             coredialogs.h \
87             coredialogs.m \
88             fspanel.h \
89             fspanel.m \
90                  $(abs_top_builddir)/tmp/modules/gui/macosx/
91         cd $(top_builddir)/tmp/extras/package/macosx && \
92                 xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd)
93         cp -R -L $(top_builddir)/tmp/build/Default/VLC.bundle $@
94         $(INSTALL) -d $@/Contents/MacOS/
95         $(INSTALL) -d $@/Contents/MacOS/share/
96         cp -r $(srcdir)/share/lua $@/Contents/MacOS/share/
97         $(INSTALL) -m 644 $(srcdir)/share/vlc512x512.png $@/Contents/MacOS/share/vlc512x512.png
98         $(INSTALL) -d $@/Contents/MacOS/share/locale
99         cat $(top_srcdir)/po/LINGUAS | while read i; do \
100           $(INSTALL) -d $@/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
101           $(INSTALL) $(srcdir)/po/$${i}.gmo $@/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo; \
102           mkdir -p $@/Contents/Resources/$${i}.lproj/ ; \
103           $(LN_S) -f ../English.lproj/InfoPlist.strings ../English.lproj/MainMenu.nib \
104                 $@/Contents/Resources/$${i}.lproj/ ; \
105         done
106         printf "APPLVLC#" >| $@/Contents/PkgInfo
107
108 package-macosx: VLC-release.app ChangeLog
109         mkdir -p "$(top_builddir)/vlc-$(VERSION)/Goodies/"
110         cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"
111         cd $(srcdir); cp AUTHORS COPYING README THANKS NEWS $(abs_top_builddir)/vlc-$(VERSION)/Goodies/
112         cp $(top_builddir)/ChangeLog $(top_builddir)/vlc-$(VERSION)/Goodies/
113         cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app $(top_builddir)/vlc-$(VERSION)/Goodies/Delete\ VLC\ Preferences.app
114         cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
115         mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/
116         cp $(srcdir)/extras/package/macosx/Resources/about_bg.png $(top_builddir)/vlc-$(VERSION)/.background/background.png
117         $(LN_S) -f /Applications $(top_builddir)/vlc-$(VERSION)/
118         rm -f "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
119         hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -scrub
120 # Make sure the image is not writable
121 # Note: We can't directly create a read only dmg as we do the bless stuff
122         rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
123         hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
124         ls -l "$(top_builddir)/vlc-$(VERSION).dmg"
125
126 package-macosx-zip: VLC-release.app ChangeLog
127         mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/
128         cp -R $(top_builddir)/VLC-release.app $(top_builddir)/vlc-$(VERSION)/VLC.app
129         cp $(top_builddir)/ChangeLog $(top_builddir)/vlc-$(VERSION)/Goodies/
130         cd $(srcdir); cp -R AUTHORS COPYING README THANKS NEWS extras/package/macosx/Delete_Preferences.app/ \
131                 $(abs_top_builddir)/vlc-$(VERSION)/Goodies/
132         cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
133         zip -r -y -9 $(top_builddir)/vlc-$(VERSION).zip $(top_builddir)/vlc-$(VERSION)
134
135 package-macosx-framework-zip: ChangeLog
136         mkdir -p $(top_builddir)/vlckit-$(VERSION)/Goodies/
137         cp -R $(srcdir)/projects/macosx/framework/build/Debug/VLCKit.framework $(top_builddir)/vlckit-$(VERSION)/
138         cp $(top_builddir)/ChangeLog $(top_builddir)/vlckit-$(VERSION)/Goodies/
139         cd $(srcdir); cp AUTHORS COPYING README THANKS NEWS $(abs_top_builddir)/vlckit-$(VERSION)/Goodies/
140         zip -r -y -9 $(top_builddir)/vlckit-$(VERSION).zip $(top_builddir)/vlckit-$(VERSION)
141
142 package-translations:
143         mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"
144         for i in `cat "$(top_srcdir)/po/LINGUAS"`; do \
145           cp "$(srcdir)/po/$${i}.po" "$(srcdir)/vlc-translations-$(VERSION)/" ; \
146         done
147         cp "$(srcdir)/doc/translations.txt" "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
148
149         echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
150         echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
151         echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
152         echo "  echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
153         echo "  exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
154         echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
155         echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
156         echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
157
158         $(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
159           | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz
160
161 .PHONY: package-macosx package-macosx-zip package-macosx-framework-zip package-translations