X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile.am;h=d0444d8b29056e64b89ed9bbb61a5cbe552b163d;hb=a078354921bb82a525f0999f2d287f7651f3c108;hp=f8b66983ab451dce600e38b76672b1e8c4e45742;hpb=1acf84b10b54427282a81fcf4ec2d560d7e8bb55;p=vlc diff --git a/Makefile.am b/Makefile.am index f8b66983ab..d0444d8b29 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,29 +9,45 @@ NULL = # 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 because the plugin needs libvlc_pic.a +# - . should come before mozilla/bindings because the plugin needs libvlc_pic.a # - po should come before . because VLC.app needs the pofiles -SUBDIRS = intl modules po . mozilla activex share m4 doc -DIST_SUBDIRS = $(SUBDIRS) src debian ipkg lib +# - loader should come before modules because some plugins need it +SUBDIRS = intl loader modules po . mozilla bindings activex share m4 doc +DIST_SUBDIRS = $(SUBDIRS) debian ipkg lib EXTRA_DIST = \ HACKING \ INSTALL.win32 \ + INSTALL.wince \ vlc.exe.manifest \ MAINTAINERS \ README.MacOSX.rtf \ bootstrap \ src/extras/COPYING \ toolbox \ + vlc-api.pl \ vlc-config.in.in \ vlc.spec \ vlc.spec.mdk \ vlc.win32.nsi \ + src/misc/modules_builtin.h.in \ $(NULL) -BUILT_SOURCES = +BUILT_SOURCES_distclean = vlc-config compile +BUILT_SOURCES_clean = \ + stamp-api \ + macosx-sdk \ + src/misc/modules_builtin.h \ + src/misc/version.c \ + $(NULL) + +BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean) + SUFFIXES = +DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \ + --disable-ffmpeg --disable-faad --disable-skins2 + # Tell aclocal to use -I m4. Wonder if it really works. ACLOCAL_AMFLAGS = -I m4 @@ -43,12 +59,6 @@ AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects # Headers ############################################################################### -BUILT_SOURCES += \ - include/vlc_symbols.h \ - src/misc/modules_builtin.h \ - src/misc/modules_plugin.h \ - $(NULL) - pkgincludedir = $(includedir)/vlc dist_pkginclude_HEADERS = \ @@ -59,9 +69,12 @@ dist_pkginclude_HEADERS = \ include/vlc/decoder.h \ include/vlc/input.h \ include/vlc/intf.h \ + include/vlc/control.h \ + include/vlc/control_structures.h \ $(NULL) -noinst_HEADERS = $(HEADERS_include) $(HEADERS_include_built) +noinst_HEADERS = $(HEADERS_include) +noinst_DATA = $(DATA_noinst_beos) $(DATA_noinst_libvlc) HEADERS_include = \ include/aout_internal.h \ @@ -79,19 +92,20 @@ HEADERS_include = \ include/modules_inner.h \ include/mtime.h \ include/network.h \ - include/osd.h \ include/os_specific.h \ include/snapshot.h \ include/stream_output.h \ include/variables.h \ include/video_output.h \ include/vlc_access.h \ + include/vlc_acl.h \ include/vlc_bits.h \ include/vlc_block.h \ include/vlc_block_helper.h \ include/vlc_codec.h \ include/vlc_common.h \ include/vlc_config.h \ + include/vlc_control.h \ include/vlc_cpu.h \ include/vlc_demux.h \ include/vlc_error.h \ @@ -104,14 +118,17 @@ HEADERS_include = \ include/vlc_md5.h \ include/vlc_image.h \ include/vlc_input.h \ + include/vlc_interaction.h \ include/vlc_interface.h \ include/vlc_keys.h \ include/vlc_messages.h \ include/vlc_meta.h \ include/vlc_objects.h \ + include/vlc_osd.h \ include/vlc_playlist.h \ include/vlc_spu.h \ include/vlc_stream.h \ + include/vlc_symbols.h \ include/vlc_threads_funcs.h \ include/vlc_threads.h \ include/vlc_video.h \ @@ -122,22 +139,17 @@ HEADERS_include = \ include/win32_specific.h \ $(NULL) -HEADERS_include_built = \ - include/vlc_symbols.h \ - $(NULL) +src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in vlc-config + srcdir=$(srcdir) $(srcdir)/toolbox --update-includes + touch src/misc/modules_builtin.h -# Common dependencies for these 3 files : Makefile vlc-config -# Specific dependencies : -# include/vlc_symbols.h: $(HEADERS_include) -# src/misc/modules_plugin.h: src/misc/modules_plugin.h.in $(HEADERS_include) -# src/misc/modules_builtin.h: src/misc/modules_builtin.h.in +src/misc/modules.c: src/misc/modules_builtin.h -include/vlc_symbols.h src/misc/modules_plugin.h src/misc/modules_builtin.h: Makefile $(HEADERS_include) vlc-config src/misc/modules_plugin.h.in src/misc/modules_builtin.h.in - srcdir=$(srcdir) $(srcdir)/toolbox --update-includes +src/misc/version.c: FORCE + srcdir=$(srcdir) $(srcdir)/toolbox --update-version # These dependencies are mandatory -$(SOURCES): include/vlc_symbols.h -$(SOURCES_libvlc): src/misc/modules_plugin.h src/misc/modules_builtin.h $(LIB_intl) +$(SOURCES_libvlc): $(LIB_intl) ############################################################################### # Optional libintl - FIXME, bad dependencies @@ -157,7 +169,7 @@ endif EXTRA_DIST += \ extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \ extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \ - extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib \ + extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \ extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \ extras/MacOSX/Resources/English.lproj/About.nib/info.nib \ extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \ @@ -167,6 +179,18 @@ EXTRA_DIST += \ extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \ extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \ extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib \ + extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \ + extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \ + extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \ + extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib \ + extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib \ + extras/MacOSX/Resources/English.lproj/Extended.nib/keyedobjects.nib \ + extras/MacOSX/Resources/English.lproj/SFilters.nib/classes.nib \ + extras/MacOSX/Resources/English.lproj/SFilters.nib/info.nib \ + extras/MacOSX/Resources/English.lproj/SFilters.nib/keyedobjects.nib \ extras/MacOSX/Resources/English.lproj/InfoPlist.strings \ extras/MacOSX/Resources/a52.icns \ extras/MacOSX/Resources/aac.icns \ @@ -230,7 +254,15 @@ EXTRA_DIST += \ extras/MacOSX/Resources/vlc.scriptTerminology \ extras/MacOSX/Resources/README \ extras/MacOSX/vlc.pbproj/project.pbxproj \ - extras/MacOSX/macosx-dmg \ + 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/Delete_Preferences.app/Contents/Resources/description.rtfd/TXT.rtf \ + extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.icns \ + extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.rsrc \ + extras/MacOSX/Delete_Preferences.app/Contents/Resources/Scripts/main.scpt \ + extras/Makefile \ + extras/zsh.cpp \ $(NULL) ############################################################################### @@ -254,8 +286,8 @@ EXTRA_DIST += \ $(NULL) dist-hook: - cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc - distdir=$(distdir) srcdir=$(srcdir) $(srcdir)/toolbox --dist-contrib + cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc + distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib ############################################################################### # Building libvlc @@ -263,17 +295,27 @@ dist-hook: bin_SCRIPTS = vlc-config vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in - cd $(top_builddir) && $(SHELL) ./config.status --file=$@ - -cd $(top_builddir) && chmod 0755 $@ + $(SHELL) ./config.status --file=vlc-config + chmod 0755 vlc-config -$(SOURCES): vlc-config +vlc-config.in: vlc-config.in.in + ./config.status --recheck -CLEANFILES = $(BUILT_SOURCES) +MOSTLYCLEANFILES = $(DATA_noinst_libvlc) +CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin +DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile -lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic) +if HAVE_WIN32 +lib_LIBRARIES = lib/libvlc.a +else +lib_LIBRARIES = lib/libvlc.a +if BUILD_PIC +lib_LIBRARIES += lib/libvlc_pic.a +else +endif +endif lib_libvlc_a_SOURCES = $(SOURCES_libvlc) -dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc` lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc` lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc` @@ -301,12 +343,27 @@ endif if BUILD_GETOPT OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt) endif -if BUILD_MOZILLA -if !HAVE_WIN32 -LIBRARIES_libvlc_pic = lib/libvlc_pic.a + +# Build libvlc as a shared library +if BUILD_SHARED +DATA_noinst_libvlc = libvlc$(LIBEXT) +if HAVE_WIN32 +OBJECTS_libvlc_so = $(lib_libvlc_a_OBJECTS) +else +OBJECTS_libvlc_so = $(lib_libvlc_pic_a_OBJECTS) endif endif +libvlc$(LIBEXT): $(OBJECTS_libvlc_so) + @ldfl="`$(VLC_CONFIG) --libs plugin vlc $(pic) builtin`" ; \ + case `$(VLC_CONFIG) --linkage vlc` in \ + c++) ld="$(CXXLINK)" ;; \ + objc) ld="$(OBJCLINK)" ;; \ + c|*) ld="$(LINK)" ;; \ + esac ; \ + echo $$ld $(OBJECTS_libvlc_so) $$ldfl ; \ + $$ld $(OBJECTS_libvlc_so) $$ldfl + EXTRA_DIST += \ $(SOURCES_libvlc_beos) \ $(SOURCES_libvlc_darwin) \ @@ -342,6 +399,7 @@ SOURCES_libvlc_common = \ src/libvlc.h \ src/interface/interface.c \ src/interface/intf_eject.c \ + src/interface/interaction.c \ src/playlist/playlist.c \ src/playlist/sort.c \ src/playlist/loadsave.c \ @@ -379,14 +437,26 @@ SOURCES_libvlc_common = \ src/stream_output/stream_output.c \ src/stream_output/announce.c \ src/stream_output/sap.c \ + src/osd/osd.c \ + src/osd/osd_parser.c \ + src/osd/osd_text.c \ + src/osd/osd_widgets.c \ + src/network/acl.c \ + src/network/getaddrinfo.c \ + src/network/io.c \ + src/network/tcp.c \ + src/network/udp.c \ + src/network/httpd.c \ + src/network/rootwrap.c \ + src/network/tls.c \ src/misc/charset.c \ - src/misc/httpd.c \ - src/misc/tls.c \ src/misc/md5.c \ src/misc/mtime.c \ src/misc/block.c \ src/misc/modules.c \ src/misc/threads.c \ + src/misc/stats.c \ + src/misc/unicode.c \ src/misc/cpu.c \ src/misc/configuration.c \ src/misc/image.c \ @@ -396,13 +466,18 @@ SOURCES_libvlc_common = \ src/misc/objects.c \ src/misc/variables.c \ src/misc/error.c \ - src/misc/net.c \ - src/misc/getaddrinfo.c \ src/misc/vlm.c \ src/misc/xml.c \ + src/misc/version.c \ src/extras/libc.c \ + src/control/core.c \ + src/control/util.c \ + src/control/audio_video.c \ $(NULL) +# These should be distributed, but not compiled +EXTRA_DIST += src/control/init.c src/control/plugin.c + SOURCES_libvlc = \ $(SOURCES_libvlc_common) \ $(OPT_SOURCES_libvlc_beos) \ @@ -422,27 +497,40 @@ vlc_SOURCES = src/vlc.c # Work around a bug in the arm-wince-pe linker if HAVE_WINCE -vlc_WORKAROUNDLDFLAGS = lib/libvlc.a +vlc_WORKAROUNDLDFLAGS = $(LIB_libvlc) endif -vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin` $(vlc_WORKAROUNDLDFLAGS) -vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl) +if BUILD_SHARED +### libvlc.so cannot be created into lib/ +LIB_libvlc = libvlc$(LIBEXT) +LDFLAGS_libvlc = +#-Wl,-rpath $(libdir) +else +LIB_libvlc = lib/libvlc.a +LDFLAGS_libvlc = `$(VLC_CONFIG) --libs vlc builtin` +endif + +vlc_LDFLAGS = $(LDFLAGS_libvlc) $(vlc_WORKAROUNDLDFLAGS) +vlc_LDADD = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl) vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc` # We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an # old automake-1.5 bug (automake/279). -DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl) +DEPENDENCIES_vlc = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl) vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin - @rm -f $(top_builddir)/vlc$(EXEEXT) + @rm -f vlc$(EXEEXT) @case `$(VLC_CONFIG) --linkage vlc builtin` in \ - c++) echo $(CXXLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(CXXLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \ - objc) echo $(OBJCLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(OBJCLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \ - c|*) echo $(LINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(LINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \ - esac + c++) cmd="$(CXXLINK)" ;; \ + objc) cmd="$(OBJCLINK)" ;; \ + c|*) cmd="$(LINK)" ;; \ + esac ; \ + cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS)" ; \ + echo $$cmd ; \ + eval $$cmd if HAVE_BEOS -noinst_DATA = vlc-bundle +DATA_noinst_beos = vlc-bundle vlc-bundle: vlc rm -Rf $(top_builddir)/vlc-bundle ; mkdir -p $(top_builddir)/vlc-bundle cp $(top_builddir)/vlc $(top_builddir)/vlc-bundle/ @@ -467,26 +555,20 @@ vlc-bundle: vlc find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \; endif -# Install the modules and the symlinks +# Install the symlinks and shared libvlc install-exec-local: - for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \ - echo $(INSTALL) -m 755 "$$i$(LIBEXT)" "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`" ; \ - $(INSTALL) -m 755 "$$i$(LIBEXT)" "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`" ; \ - fi ; done - for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \ - echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \ - $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \ - fi ; done -if BUILD_MOZILLA - for i in "" `$(VLC_CONFIG) --target builtin pic` ; do if test -n "$$i" ; then \ - echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \ - $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \ - fi ; done -endif for i in "" $(ALIASES) ; do if test -n "$$i" ; then \ rm -f "$(DESTDIR)$(bindir)/$$i" && \ - ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \ + ln -sf vlc "$(DESTDIR)$(bindir)/$$i" ; \ + fi ; done + test -z "$(DATA_noinst_libvlc)" || $(INSTALL_PROGRAM) "$(DATA_noinst_libvlc)" "$(DESTDIR)$(libdir)" + +# the opposite of install-{data,exec}-local +uninstall-local: + for i in "" $(ALIASES) ; do if test -n "$$i" ; then \ + rm -f "$(DESTDIR)$(bindir)/$$i" ; \ fi ; done + test -z "$(DATA_noinst_libvlc)" || rm -f "$(DESTDIR)$(libdir)/$(DATA_noinst_libvlc)" if HAVE_DARWIN # Create the MacOS X app @@ -501,13 +583,11 @@ VLC-release.app: vlc echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \ fi rm -Rf $(top_builddir)/VLC-release.app - cp -r $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras + cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \ cp "$(srcdir)/$$i" $(top_builddir)/tmp; \ done mkdir -p $(top_builddir)/tmp/modules/audio_output - cp $(srcdir)/modules/audio_output/coreaudio.c \ - $(top_builddir)/tmp/modules/audio_output/coreaudio.c mkdir -p $(top_builddir)/tmp/modules/gui/macosx for i in \ about.h \ @@ -538,13 +618,32 @@ VLC-release.app: vlc vout.h \ voutqt.m \ voutgl.m \ + wizard.h \ + wizard.m \ + extended.h \ + extended.m \ + bookmarks.h \ + bookmarks.m \ + sfilters.h \ + sfilters.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ done - cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' - cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \ - $(top_builddir)/VLC-release.app + 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 ../../../; \ + cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \ + $(top_builddir)/VLC-release.app;; \ + esac rm -Rf $(top_builddir)/tmp $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS $(INSTALL) $(top_builddir)/vlc \ @@ -556,9 +655,9 @@ VLC-release.app: vlc then $(INSTALL) "$$i$(LIBEXT)" \ "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \ fi ; done - if test -d $(top_builddir)/extras/contrib/vlc-lib; then \ + if test -d $(srcdir)/extras/contrib/vlc-lib; then \ mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \ - for i in $(top_builddir)/extras/contrib/vlc-lib/*.dylib ; do \ + for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \ $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \ done ; \ fi @@ -567,15 +666,6 @@ VLC-release.app: vlc for i in $(srcdir)/share/http/* ; do \ $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \ done ; \ - $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/vlm - for i in $(srcdir)/share/http/vlm/* ; do \ - $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/vlm/`basename $${i}` ; \ - done ; \ - $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin - for i in $(srcdir)/share/http/admin/* ; do \ - $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin/`basename $${i}` ; \ - done ; \ - $(INSTALL) -m 644 $(srcdir)/share/http/admin/.access $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin/.access $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale for i in $(ALL_LINGUAS); do \ mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \ @@ -598,13 +688,11 @@ VLC.app: vlc echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \ fi rm -Rf $(top_builddir)/VLC.app - cp -r $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras + cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \ cp "$(srcdir)/$$i" $(top_builddir)/tmp; \ done mkdir -p $(top_builddir)/tmp/modules/audio_output - cp $(srcdir)/modules/audio_output/coreaudio.c \ - $(top_builddir)/tmp/modules/audio_output/coreaudio.c mkdir -p $(top_builddir)/tmp/modules/gui/macosx for i in \ about.h \ @@ -635,13 +723,32 @@ VLC.app: vlc vout.h \ voutqt.m \ voutgl.m \ + wizard.h \ + wizard.m \ + extended.h \ + extended.m \ + bookmarks.h \ + bookmarks.m \ + sfilters.h \ + sfilters.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ done - cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' - cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \ - $(top_builddir)/VLC.app + 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 ../../../; \ + cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \ + $(top_builddir)/VLC.app;; \ + esac rm -Rf $(top_builddir)/tmp $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS $(INSTALL) $(top_builddir)/vlc \ @@ -653,9 +760,9 @@ VLC.app: vlc then ln -sfn "`pwd`/$$i$(LIBEXT)" \ "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \ fi ; done - if test -d $(top_builddir)/extras/contrib/vlc-lib; then \ + if test -d $(srcdir)/extras/contrib/vlc-lib; then \ mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \ - for i in $(top_builddir)/extras/contrib/vlc-lib/*.dylib ; do \ + for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \ ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \ done ; \ fi @@ -681,6 +788,7 @@ share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc $(WINDRES) -DVERSION=$(VERSION) -DVERSION_NUMBER=`echo $(VERSION).0.0.0 | sed 's/\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\).*/\1,\2,\3,\4/'` --include-dir $(srcdir)/share -i $< -o $@ endif + ############################################################################### # Building specific source packages ############################################################################### @@ -751,23 +859,30 @@ package-win32-base: cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \ done - mkdir -p "$(top_builddir)/vlc-${VERSION}/http/admin" - mkdir -p "$(top_builddir)/vlc-${VERSION}/http/vlm" + mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu" + cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-${VERSION}/osdmenu" + for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume;do \ + mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir"; \ + for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \ + cp $$file "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir" || true; \ + done; \ + done + unix2dos $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg; + sed -i 's%share/osdmenu%osdmenu%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg + sed -i 's%/%\\%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg + + mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images" + mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests" cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ; unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ; cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ; unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ; - cp $(srcdir)/share/http/*.png $(top_builddir)/vlc-${VERSION}/http/ + cp $(srcdir)/share/http/*.js $(top_builddir)/vlc-${VERSION}/http/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/*.js ; cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ; - cp $(srcdir)/share/http/admin/*.html \ - $(top_builddir)/vlc-${VERSION}/http/admin/ ; - unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/*.html ; - cp $(srcdir)/share/http/admin/.access \ - $(top_builddir)/vlc-${VERSION}/http/admin/ ; - unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/.access ; - cp $(srcdir)/share/http/vlm/*.html \ - $(top_builddir)/vlc-${VERSION}/http/vlm/ ; - unix2dos $(top_builddir)/vlc-${VERSION}/http/vlm/*.html ; + cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-${VERSION}/http/images/ + cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-${VERSION}/http/requests/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/*.xml ; cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ; @@ -780,8 +895,8 @@ endif mkdir -p "$(top_builddir)/vlc-${VERSION}/activex" if BUILD_ACTIVEX - cp $(top_builddir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ; - cp $(top_builddir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ; + cp $(srcdir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ; + cp $(srcdir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ; unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ; cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ; @@ -794,13 +909,19 @@ endif package-win32-base-exe: # Create package - wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \ - /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi + if [ -x makensis ]; then \ + MAKENSIS=makensis; \ + elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \ + MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \ + elif [ -x wine ]; then \ + MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \ + else \ + echo 'Error: cannot locate makensis tool'; exit 1; \ + fi; \ + eval "$$MAKENSIS /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi" -package-win32-base-exe-cygwin: +package-win32-base-exe-cygwin: package-win32-base-exe # Create package - C:/Program\ Files/NSIS/makensis.exe \ - /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi package-win32-base-exe-linux: # Create package @@ -826,6 +947,78 @@ package-win32: package-win32-base package-win32-base-exe package-win32-base-zip # Clean up rm -Rf $(top_builddir)/vlc-${VERSION} +package-wince-base: +# Check that tmp isn't in the way + @if test -e "$(top_builddir)/vlc-${VERSION}"; then \ + echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \ + false; \ + else \ + echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \ + fi + +# Copy relevant files + cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/" + cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/" + $(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)" + + for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \ + do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \ + unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done + + mkdir $(top_builddir)/vlc-${VERSION}/locale + for i in $(ALL_LINGUAS); do \ + mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \ + cp "$(srcdir)/po/$${i}.gmo" \ + "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \ + || true ; \ + done + + + mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images" + mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests" + cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ; + cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ; + cp $(srcdir)/share/http/*.js $(top_builddir)/vlc-${VERSION}/http/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/*.js ; + 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/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/*.xml ; + + cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ; + +if BUILD_MOZILLA + mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla" + cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ; + $(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT); + cp $(top_builddir)/mozilla/vlcintf.xpt $(top_builddir)/vlc-${VERSION}/mozilla/ ; +endif + +if BUILD_ACTIVEX + mkdir -p "$(top_builddir)/vlc-${VERSION}/activex" + cp $(srcdir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ; + cp $(srcdir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ; + + cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ; + $(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT); +endif +# Rebase all those DLLs to speed up loading (need cygwin rebase) + if [ -x rebase ]; then \ + find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \ + fi + +package-wince-base-zip: +# Create package + zip -r vlc-${VERSION}-wince.zip vlc-${VERSION} + +package-wince: package-wince-base package-wince-base-zip +# Clean up + rm -Rf $(top_builddir)/vlc-${VERSION} + + package-beos: # Check that tmp isn't in the way @if test -e $(srcdir)/tmp; then \ @@ -862,23 +1055,28 @@ package-beos: rm -Rf $(srcdir)/tmp ; package-macosx: -# Check that tmp isn't in the way - @if test -e "$(top_builddir)/tmp"; then \ - echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \ - false; \ - else \ - echo "OK."; mkdir -p "$(top_builddir)/tmp"; \ +# Check that the temporary location isn't in the way + @if test -e "$(top_builddir)/vlc-${VERSION}/"; then \ + rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \ fi + echo "Create package directory: vlc-${VERSION}/"; + mkdir -p "$(top_builddir)/vlc-${VERSION}/"; + # Copy relevant files - cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/tmp/VLC.app" - cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/tmp/ + 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}/ # Create disk image - $(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp + 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 -quiet ; + echo; echo "Disk image creation completed:" ; + ls -la "$(top_builddir)/vlc-${VERSION}.dmg" ; echo ; # Clean up - rm -Rf $(top_builddir)/tmp + rm -Rf "$(top_builddir)/vlc-${VERSION}" ; package-translations: @if test -e "$(srcdir)/vlc-translations-${VERSION}"; then \ @@ -909,12 +1107,34 @@ package-translations: | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz ############################################################################### -# Stamp rules +# PO translation files update ############################################################################### -clean: clean-stamp clean-recursive -clean-stamp: - rm -f stamp-builtin +.PHONY: update-po + +update-po: + rm -f $(top_srcdir)/po/POTFILES.in + { \ + cd $(top_srcdir) ; \ + echo "# automatically created by make update-po" ; \ + echo "" ; \ + echo "# main sources" ; \ + find include src -name '*.[chm]' -o -name '*.[ch]pp' \ + | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \ + | sort ; \ + echo "" ; \ + echo "# modules" ; \ + find modules -name '*.[chm]' -o -name '*.[ch]pp' \ + | grep -v '\(\.moc\.\|gui/gtk2/\)' \ + | sort ; \ + } > $(top_srcdir)/po/POTFILES.in + rm -f $(top_srcdir)/po/vlc.pot + cd po && $(MAKE) POTFILES vlc.pot update-po + +#cd po && $(MAKE) update-po +############################################################################### +# Stamp rules +############################################################################### stamp-builtin: FORCE @for dep in "" `$(VLC_CONFIG) --target builtin`; do \ if test "$${dep}" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \ @@ -924,6 +1144,17 @@ stamp-builtin: FORCE done @if test ! -f $@; then printf "" > $@; fi +stamp-api: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl + ( cd $(srcdir) && cat $(HEADERS_include) ) | \ + top_srcdir="$(top_srcdir)" perl $(top_srcdir)/vlc-api.pl + touch stamp-api + +############################################################################### +# Enforce Mac OS X deployment target environment variable +############################################################################### +macosx-sdk: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl + export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET) + ############################################################################### # Force rule ###############################################################################