# 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 \
toolbox \
vlc-api.pl \
vlc-config.in.in \
- vlc.spec \
- vlc.spec.mdk \
- vlc.win32.nsi.in \
- $(NULL)
+ vlc.fedora.spec \
+ vlc.mandriva.spec \
+ vlc.altlinux.spec \
+ vlc.win32.nsi.in
BUILT_SOURCES_distclean = vlc-config compile vlc.win32.nsi
BUILT_SOURCES_clean = macosx-sdk
SUFFIXES =
DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
- --disable-ffmpeg --disable-faad --disable-skins2
-if USE_LIBTOOL
-DISTCHECK_CONFIGURE_FLAGS += --enable-libtool
-endif
+ --disable-ffmpeg --disable-faad --disable-wxwidgets --disable-skins2
# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4
extras/MacOSX/Resources/fs_exit_fullscreen_highlight.png \
extras/MacOSX/Resources/fs_exit_fullscreen.png \
extras/MacOSX/Resources/fs_background.png \
- extras/MacOSX/vlc.pbproj/project.pbxproj \
+ extras/MacOSX/fullscreen_panel.svg \
+ extras/MacOSX/ub.sh \
+ 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, ... )
+# Various utilities ( editor syntax files, D-Bus controller ... )
##############################################################################
EXTRA_DIST += \
extras/Makefile \
extras/make.pl \
extras/valgrind.suppressions \
extras/m4/autoconf260.m4 \
- $(NULL)
+ extras/dbus-vlc.py \
+ 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_SOURCES = src/vlc.c
# Ugly kludge so that automake defines $(CXXLINK)
-EXTRA_vlc_SOURCES = extras/zsh.cpp
+nodist_EXTRA_vlc_SOURCES = extras/zsh.cpp src/misc/darwin_specific.m
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
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_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
if USE_LIBTOOL
-vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc`
LIB_libvlc = libvlc.la
LIBVLC = src/$(LIB_libvlc)
+vlc_LDFLAGS =
else
-if BUILD_SHARED
-vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc` -Wl,-rpath $(libdir) -L$(top_builddir)/src -lvlc
if HAVE_WIN32
+vlc_LDFLAGS = -L$(top_builddir)/src -lvlc `$(VLC_CONFIG) --libs vlc`
LIB_libvlc = libvlc.dll.a
-else
-LIB_libvlc = libvlc$(LIBEXT)
-endif
LIBVLC =
else
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
# Shortcut for developpers to rebuild the core (libvlc + vlc)
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
-core:
- rm -f src/$(LIB_libvlc)
+libvlc:
+ cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)
+
+core: libvlc
$(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
-.PHONY: core
+.PHONY: libvlc core
-src/$(LIB_libvlc):
- cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)
+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)" ;; \
endif
# Install the symlinks
-install-exec-local:
+install-exec-local: install-binPROGRAMS
+ inst="`echo vlc | sed -e '$(transform)'`" ; \
for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
rm -f "$(DESTDIR)$(bindir)/$$i" && \
- ln -sf vlc "$(DESTDIR)$(bindir)/$$i" ; \
+ ln -sf "$${inst}" "$(DESTDIR)$(bindir)/$$i" ; \
fi ; done
# the opposite of install-{data,exec}-local
cp "$(srcdir)/modules/gui/macosx/$$i" \
$(top_builddir)/tmp/modules/gui/macosx; \
done
- case $(target_triplet) in \
- *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
- cd ../../../; \
- cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
- $(top_builddir)/VLC-release.app;; \
- *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
- cd ../../../; \
- cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
- $(top_builddir)/VLC-release.app;; \
- *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
- cd ../../../; \
+ cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
+ cd ../../../ && \
cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
- $(top_builddir)/VLC-release.app;; \
- esac
+ $(top_builddir)/VLC-release.app; \
rm -Rf $(top_builddir)/tmp
$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
$(INSTALL) $(top_builddir)/vlc \
cp "$(srcdir)/modules/gui/macosx/$$i" \
$(top_builddir)/tmp/modules/gui/macosx; \
done
- case $(target_triplet) in \
- *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
- cd ../../../; \
- cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
- $(top_builddir)/VLC.app;; \
- *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
- cd ../../../; \
- cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
- $(top_builddir)/VLC.app;; \
- *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
- cd ../../../; \
+ cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
+ cd ../../../ && \
cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
- $(top_builddir)/VLC.app;; \
- esac
+ $(top_builddir)/VLC.app; \
rm -Rf $(top_builddir)/tmp
$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
$(INSTALL) $(top_builddir)/vlc \
# Copy relevant files
cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
-if BUILD_SHARED
cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
-endif
for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
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}/ ;
package-win-common-strip:
$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
-if BUILD_SHARED
$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
-endif
if BUILD_MOZILLA
$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
endif
# Clean up
rm -Rf $(top_builddir)/vlc-${VERSION}
-package-win32: package-win32-base-exe package-win32-base-zip
+package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip
+
+package-win32: package-win32-no-clean
# Clean up
rm -Rf $(top_builddir)/vlc-${VERSION}
xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
- (cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
+ (cd $(srcdir)/tmp && zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
- (cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
+ (cd $(srcdir)/tmp && zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
# Clean up
mkdir -p "$(top_builddir)/vlc-${VERSION}/";
# Copy relevant files
- cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"
- 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}/
+ @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
+ 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 ;
update-po:
rm -f $(top_srcdir)/po/POTFILES.in
{ \
- cd $(top_srcdir) ; \
+ cd $(top_srcdir) && \
echo "# automatically created by make update-po" ; \
echo "" ; \
echo "# main sources" ; \