# Automake targets and declarations
###############################################################################
-NULL =
-
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
-# - intl should come before modules and . because all the code uses gettext
-# - modules should come before . because vlc needs the builtins
-# - . should come before mozilla/bindings because the plugin needs libvlc.a
-# - po should come before . because VLC.app needs the pofiles
-# - loader should come before modules because some plugins need it
-SUBDIRS = intl loader src modules po . mozilla bindings activex share m4 doc
-DIST_SUBDIRS = $(SUBDIRS) ipkg
+# - intl (gettext) is needed by src and modules
+# - src (libvlc) is nedeed by modules, mozilla and bindings
+# - libs/* are needed by modules
+SUBDIRS = intl po libs/loader libs/srtp src modules \
+ mozilla bindings activex share doc
+DIST_SUBDIRS = $(SUBDIRS) m4 ipkg
EXTRA_DIST = \
HACKING \
vlc.fedora.spec \
vlc.mandriva.spec \
vlc.altlinux.spec \
- vlc.win32.nsi.in \
- $(NULL)
+ vlc.win32.nsi.in
BUILT_SOURCES_distclean = vlc-config compile vlc.win32.nsi
BUILT_SOURCES_clean = macosx-sdk
extras/MacOSX/Resources/fs_background.png \
extras/MacOSX/fullscreen_panel.svg \
extras/MacOSX/ub.sh \
- extras/MacOSX/vlc.pbproj/project.pbxproj \
+ extras/MacOSX/vlc.xcodeproj/project.pbxproj \
extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
extras/MacOSX/Delete_Preferences.app/Contents/MacOS/applet \
extras/MacOSX/plugin/InstallerInfo.plist \
extras/MacOSX/plugin/InstallerDescription.plist \
extras/MacOSX/plugin/pbdevelopment.plist \
- extras/MacOSX/plugin/English.lproj/InfoPlist.strings \
- $(NULL)
+ extras/MacOSX/plugin/English.lproj/InfoPlist.strings
###############################################################################
# Various utilities ( editor syntax files, D-Bus controller ... )
extras/valgrind.suppressions \
extras/m4/autoconf260.m4 \
extras/dbus-vlc.py \
- extras/dbus-vlc.glade \
- $(NULL)
+ extras/dbus-vlc.glade
###############################################################################
# MS Visual Studio and eMbedded Visual Studio projects
evc/plugins.vcp.in \
evc/errno.h \
evc/config.h.in \
- evc/modules_builtin_evc.h \
- $(NULL)
+ evc/modules_builtin_evc.h
dist-hook:
cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
vlc_WORKAROUNDLDFLAGS = $(LIBVLC)
endif
-# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
-# old automake-1.5 bug (automake/279).
-DEPENDENCIES_vlc = src/$(LIB_libvlc) $(DATA_win32_rc)
+vlc_DEPENDENCIES = src/$(LIB_libvlc) $(DATA_win32_rc)
vlc_LDADD = $(DATA_win32_rc) $(LIBVLC)
vlc_LDFLAGS = $(vlc_WORKAROUNDLFDLAGS) `$(VLC_CONFIG) --libs vlc builtin`
LIB_libvlc = libvlc.a
LIBVLC = src/$(LIB_libvlc)
-DEPENDENCIES_vlc += stamp-builtin
+vlc_DEPENDENCIES += stamp-builtin
endif
vlc_LDADD += $(INCLUDED_LIBINTL)
endif
src/$(LIB_libvlc): libvlc
-vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc)
+vlc$(EXEEXT): $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_DEPENDENCIES)
@rm -f vlc$(EXEEXT)
@case `$(VLC_CONFIG) --linkage vlc builtin` in \
c++) cmd="$(CXXLINK)" ;; \
mkdir -p "$(top_builddir)/vlc-${VERSION}/http/old/admin"
cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
+ cp $(srcdir)/share/http/.hosts $(top_builddir)/vlc-${VERSION}/http/ ;
+ unix2dos $(top_builddir)/vlc-${VERSION}/http/.hosts ;
cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
+ cp $(srcdir)/share/http/dialogs/.hosts $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
+ unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/.hosts ;
cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-${VERSION}/http/images/
cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-${VERSION}/http/requests/ ;
cp $(srcdir)/share/http/old/*.html $(top_builddir)/vlc-${VERSION}/http/old/ ;
unix2dos $(top_builddir)/vlc-${VERSION}/http/old/*.html ;
cp $(srcdir)/share/http/old/*.css $(top_builddir)/vlc-${VERSION}/http/old/ ;
+ cp $(srcdir)/share/http/old/.hosts $(top_builddir)/vlc-${VERSION}/http/old/ ;
cp $(srcdir)/share/http/old/*.png $(top_builddir)/vlc-${VERSION}/http/old/ ;
cp $(srcdir)/share/http/old/vlm/*.html $(top_builddir)/vlc-${VERSION}/http/old/vlm/ ;
unix2dos $(top_builddir)/vlc-${VERSION}/http/old/vlm/*.html ;
cp $(srcdir)/share/http/old/admin/*.html $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
unix2dos $(top_builddir)/vlc-${VERSION}/http/old/admin/*.html ;
+ cp $(srcdir)/share/http/old/admin/.access $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
else \
cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
fi
- cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/vlc-${VERSION}/ && cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/vlc-${VERSION}/
+ cd "$(srcdir)" && mkdir -p $(top_builddir)/vlc-${VERSION}/Goodies/ && \
+ mkdir -p $(top_builddir)/vlc-${VERSION}/.background/ && \
+ cp AUTHORS COPYING ChangeLog README THANKS NEWS $(top_builddir)/vlc-${VERSION}/Goodies/ && \
+ cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/vlc-${VERSION}/Goodies/Delete\ VLC\ Preferences.app && \
+ cp README.MacOSX.rtf $(top_builddir)/vlc-${VERSION}/Read\ Me.rtf && \
+ cp extras/MacOSX/Resources/about_bg.png $(top_builddir)/vlc-${VERSION}/.background/background.png ;
+
+# Place a link to the application folder
+ ln -s /Applications $(top_builddir)/vlc-${VERSION}/Applications ;
# Create disk image
echo "Creating disk image" ;
rm -f "$(top_builddir)/vlc-${VERSION}.dmg" ;
hdiutil create -srcfolder "$(top_builddir)/vlc-${VERSION}" \
- "$(top_builddir)/vlc-${VERSION}.dmg" -format UDZO \
+ "$(top_builddir)/vlc-${VERSION}.dmg" -format UDRW \
-scrub -imagekey zlib-level=9 ;
+
+# Make sure the root window of the dmg will pop up when the dmg is mounted.
+# Note: We dont mount in /Volumes to be sure we won't collide with an other
+# finder mounted dmg with the same name.
+ echo "Make sure the root window of the dmg will pop up when the dmg is mounted" ;
+ mkdir -p $(top_builddir)/vlcmnt ;
+ hdiutil attach -readwrite -noverify -noautoopen "$(top_builddir)/vlc-${VERSION}.dmg" -mountpoint "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
+ bless --folder "$(top_builddir)/vlcmnt/vlc-${VERSION}/" --openfolder "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
+ sleep 1 # Make sure operation completes
+
+# Place the image disk finder icon at the correct place
+# Note: careful here the finder does some weird things
+# sometimes. delays in the script should prevent those.
+ cd "$(srcdir)"
+ osascript -e "tell application \"Finder\"" \
+ -e " set f to POSIX file (\"$(top_builddir)/vlcmnt/vlc-${VERSION}/\" as string) as alias" \
+ -e " tell folder f" \
+ -e " open" \
+ -e " tell container window" \
+ -e " set toolbar visible to false" \
+ -e " set statusbar visible to false" \
+ -e " set current view to icon view" \
+ -e " delay 1 -- Sync" \
+ -e " set the bounds to {50, 100, 1000, 1000} -- Big size so the finder won't do silly things" \
+ -e " end tell" \
+ -e " delay 1 -- Sync" \
+ -e " set icon size of the icon view options of container window to 128" \
+ -e " set arrangement of the icon view options of container window to not arranged" \
+ -e " set background picture of the icon view options of container window to file \".background:background.png\"" \
+ -e " set position of item \"VLC.app\" to {100, 20}" \
+ -e " set position of item \"Applications\" to {310, 20}" \
+ -e " set position of item \"Goodies\" to {40, 200}" \
+ -e " set position of item \"Read Me.rtf\" to {410, 200}" \
+ -e " set the bounds of the container window to {50, 100, 590, 500}" \
+ -e " update without registering applications" \
+ -e " delay 5 -- Sync" \
+ -e " close" \
+ -e " end tell" \
+ -e " -- Sync" \
+ -e " delay 5" \
+ -e "end tell" || true # Make sure we don't make the build bots fail
+
+# Unmount the image now
+ hdiutil detach "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
+ rm -R $(top_builddir)/vlcmnt ;
+
+# Make sure the image is not writable
+# Note: We can't directly create a read only dmg as we do the bless stuff
+ echo "Make the disk image read-only" ;
+ mv "$(top_builddir)/vlc-${VERSION}.dmg" "$(top_builddir)/vlc-${VERSION}-rw.dmg" ;
+ hdiutil convert "$(top_builddir)/vlc-${VERSION}-rw.dmg" -format UDZO -o "$(top_builddir)/vlc-${VERSION}.dmg" ;
+ rm "$(top_builddir)/vlc-${VERSION}-rw.dmg" ;
+
+# We are done
echo "Disk image creation completed:" ;
ls -la "$(top_builddir)/vlc-${VERSION}.dmg" ; echo ;