]> git.sesse.net Git - vlc/blobdiff - Makefile.am
select first moved item instead of the last one after a drag and drop.
[vlc] / Makefile.am
index c5b4f7cb235e67bc7a881368de913c4f7a761a06..38fd1faf533abe93ae53ebf89870b68d7296a2d8 100644 (file)
@@ -11,7 +11,8 @@ NULL =
 #  - modules should come before . because vlc needs the builtins
 #  - . should come before mozilla 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
+#  - loader should come before modules because some plugins need it
+SUBDIRS = intl loader modules po . mozilla activex share m4 doc
 DIST_SUBDIRS = $(SUBDIRS) src debian ipkg lib
 
 EXTRA_DIST = \
@@ -23,8 +24,8 @@ EXTRA_DIST = \
        bootstrap \
        src/extras/COPYING \
        toolbox \
+       vlc-api.pl \
        vlc-config.in.in \
-       vlc.ebuild \
        vlc.spec \
        vlc.spec.mdk \
        vlc.win32.nsi \
@@ -45,9 +46,8 @@ AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects
 ###############################################################################
 
 BUILT_SOURCES += \
-       include/vlc_symbols.h \
+       stamp-api \
        src/misc/modules_builtin.h \
-       src/misc/modules_plugin.h \
        $(NULL)
 
 pkgincludedir = $(includedir)/vlc
@@ -60,9 +60,10 @@ dist_pkginclude_HEADERS = \
        include/vlc/decoder.h \
        include/vlc/input.h \
        include/vlc/intf.h \
+       include/vlc/control.h \
        $(NULL)
 
-noinst_HEADERS = $(HEADERS_include) $(HEADERS_include_built)
+noinst_HEADERS = $(HEADERS_include)
 
 HEADERS_include = \
        include/aout_internal.h \
@@ -102,6 +103,7 @@ HEADERS_include = \
        include/vlc_config_cat.h \
        include/vlc_httpd.h \
        include/vlc_tls.h \
+       include/vlc_md5.h \
        include/vlc_image.h \
        include/vlc_input.h \
        include/vlc_interface.h \
@@ -112,6 +114,7 @@ HEADERS_include = \
        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 +125,12 @@ HEADERS_include = \
        include/win32_specific.h \
        $(NULL)
 
-HEADERS_include_built = \
-       include/vlc_symbols.h \
-       $(NULL)
-
-include/vlc_symbols.h: Makefile $(HEADERS_include) vlc-config
-       srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
-
-src/misc/modules_plugin.h: Makefile src/misc/modules_plugin.h.in $(HEADERS_include) vlc-config
-       srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
-
 src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in vlc-config
        srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
+       touch $@
 
 # 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): src/misc/modules_builtin.h $(LIB_intl)
 
 ###############################################################################
 # Optional libintl - FIXME, bad dependencies
@@ -167,8 +160,10 @@ 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/InfoPlist.strings \
-       extras/MacOSX/Resources/English.lproj/vlc.scriptTerminology \
        extras/MacOSX/Resources/a52.icns \
        extras/MacOSX/Resources/aac.icns \
        extras/MacOSX/Resources/asf.icns \
@@ -228,6 +223,7 @@ EXTRA_DIST += \
        extras/MacOSX/Resources/volumetrack.png \
        extras/MacOSX/Resources/about_bg.png \
        extras/MacOSX/Resources/vlc.scriptSuite \
+       extras/MacOSX/Resources/vlc.scriptTerminology \
        extras/MacOSX/Resources/README \
        extras/MacOSX/vlc.pbproj/project.pbxproj \
        extras/MacOSX/macosx-dmg \
@@ -254,7 +250,6 @@ EXTRA_DIST += \
        $(NULL)
 
 dist-hook:
-       cp $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
        cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
        distdir=$(distdir) srcdir=$(srcdir) $(srcdir)/toolbox --dist-contrib
 
@@ -274,7 +269,6 @@ CLEANFILES = $(BUILT_SOURCES)
 lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
 
 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`
@@ -383,6 +377,7 @@ SOURCES_libvlc_common = \
        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 \
@@ -397,9 +392,13 @@ SOURCES_libvlc_common = \
        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/extras/libc.c \
+       src/control/core.c \
+       src/control/util.c \
+       src/control/audio_video.c \
        $(NULL)
 
 SOURCES_libvlc = \
@@ -419,7 +418,12 @@ bin_PROGRAMS = vlc
 
 vlc_SOURCES = src/vlc.c
 
-vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
+# Work around a bug in the arm-wince-pe linker
+if HAVE_WINCE
+vlc_WORKAROUNDLDFLAGS = lib/libvlc.a
+endif
+
+vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin` $(vlc_WORKAROUNDLDFLAGS)
 vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
 vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
 
@@ -482,10 +486,130 @@ endif
          ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
        fi ; done
 
+# the opposite of install-{data,exec}-local
+uninstall-local:
+       @for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
+         echo rm -f "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`/$$(basename $$i$(LIBEXT))" ; \
+         rm -f "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`/$$(basename $$i$(LIBEXT))" ; \
+       fi ; done
+       @for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
+         echo rm -f "$(DESTDIR)$(libdir)/vlc/$$(basename $$i)" ; \
+         rm -f "$(DESTDIR)$(libdir)/vlc/$$(basename $$i)" ; \
+       fi ; done
+if BUILD_MOZILLA
+       @for i in "" `$(VLC_CONFIG) --target builtin pic` ; do if test -n "$$i" ; then \
+         echo rm -f "$$i" "$(DESTDIR)$(libdir)/vlc/$$(basename $$i)" ; \
+         rm -f "$$i" "$(DESTDIR)$(libdir)/vlc/$$(basename $$i)" ; \
+       fi ; done
+endif
+       for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
+         rm -f "$(DESTDIR)$(bindir)/$$i" ; \
+       fi ; done
+
 if HAVE_DARWIN
 # Create the MacOS X app
 vlc_app_DATA = VLC.app
 vlc_appdir = $(bindir)
+# VLC-release.app is the old VLC.app target
+VLC-release.app: vlc
+       @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/extras"; \
+       fi
+       rm -Rf $(top_builddir)/VLC-release.app
+       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 \
+           about.m \
+           applescript.h \
+           applescript.m \
+           controls.h \
+           controls.m \
+           equalizer.h \
+           equalizer.m \
+           intf.h \
+           intf.m \
+           macosx.m \
+           misc.h \
+           misc.m \
+           open.h \
+           open.m \
+           output.h \
+           output.m \
+           playlist.h \
+           playlist.m \
+           playlistinfo.h \
+           playlistinfo.m \
+           prefs_widgets.h \
+           prefs_widgets.m \
+           prefs.h \
+           prefs.m \
+           vout.h \
+           voutqt.m \
+           voutgl.m \
+           wizard.h \
+           wizard.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
+       rm -Rf $(top_builddir)/tmp
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
+       $(INSTALL) $(top_builddir)/vlc \
+                  $(top_builddir)/VLC-release.app/Contents/MacOS/VLC
+       ln -sf ./VLC $(top_builddir)/VLC-release.app/Contents/MacOS/clivlc
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/modules
+       for i in "" `$(VLC_CONFIG) --target plugin` ; do \
+         if test -n "$$i" ; \
+           then $(INSTALL) "$$i$(LIBEXT)" \
+                          "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \
+         fi ; done
+       if test -d $(top_builddir)/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 \
+           $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
+         done ; \
+       fi
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share
+       $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http
+       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 ; \
+         cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
+         mkdir -p $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
+         ln -sf ../English.lproj/InfoPlist.strings \
+             $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
+         ln -sf ../English.lproj/MainMenu.nib \
+             $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
+         ln -sf ../English.lproj/vlc.scriptTerminology \
+             $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
+       done
+       printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
+
 VLC.app: vlc
        @if test -e "$(top_builddir)/tmp"; then \
          echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
@@ -531,6 +655,8 @@ VLC.app: vlc
            vout.h \
            voutqt.m \
            voutgl.m \
+           wizard.h \
+           wizard.m \
            vout.m; do \
          cp "$(srcdir)/modules/gui/macosx/$$i" \
              $(top_builddir)/tmp/modules/gui/macosx; \
@@ -546,40 +672,25 @@ VLC.app: vlc
        $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
        for i in "" `$(VLC_CONFIG) --target plugin` ; do \
          if test -n "$$i" ; \
-           then $(INSTALL) "$$i$(LIBEXT)" \
+           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 \
          mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
          for i in $(top_builddir)/extras/contrib/vlc-lib/*.dylib ; do \
-           $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
+           ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
          done ; \
        fi
-       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share
-       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http
-       for i in $(srcdir)/share/http/* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/`basename $${i}` ; \
-       done ; \
-       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/vlm
-       for i in $(srcdir)/share/http/vlm/* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/vlm/`basename $${i}` ; \
-       done ; \
-       $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin
-       for i in $(srcdir)/share/http/admin/* ; do \
-         $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin/`basename $${i}` ; \
-       done ; \
-       $(INSTALL) -m 644 $(srcdir)/share/http/admin/.access $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin/.access
+       ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
        $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
        for i in $(ALL_LINGUAS); do \
          mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
-         cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
+         ln -sfn `pwd`/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
          mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
          ln -sf ../English.lproj/InfoPlist.strings \
              $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
          ln -sf ../English.lproj/MainMenu.nib \
              $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
-         ln -sf ../English.lproj/vlc.scriptTerminology \
-             $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
        done
        printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
 endif
@@ -665,15 +776,24 @@ package-win32-base:
        mkdir -p "$(top_builddir)/vlc-${VERSION}/http/admin"
        mkdir -p "$(top_builddir)/vlc-${VERSION}/http/vlm"
        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/*.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/dboxfiles.html \
+           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
        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/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
+       cp $(srcdir)/share/vlc48x48new.ico $(top_builddir)/vlc-${VERSION}/ ;
 
        mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
 if BUILD_MOZILLA
@@ -684,17 +804,21 @@ 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/ ;
        $(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-win32-base-exe:
 # Create package
-       wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
+       wine C:/Program\ Files/NSIS/makensis.exe \
              /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
 
 package-win32-base-exe-cygwin:
@@ -771,7 +895,7 @@ package-macosx:
        fi
 
 # Copy relevant files 
-       cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/tmp/"
+       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/
 
 # Create disk image 
@@ -813,7 +937,7 @@ package-translations:
 ###############################################################################
 clean: clean-stamp clean-recursive
 clean-stamp:
-       rm -f stamp-builtin
+       rm -f stamp-builtin stamp-api
 
 stamp-builtin: FORCE
        @for dep in "" `$(VLC_CONFIG) --target builtin`; do \
@@ -824,6 +948,10 @@ stamp-builtin: FORCE
        done
        @if test ! -f $@; then printf "" > $@; fi
 
+stamp-api: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl src/misc/modules_builtin.h.in
+       cd $(srcdir) && cat $(HEADERS_include) | perl ./vlc-api.pl
+       touch stamp-api
+
 ###############################################################################
 # Force rule
 ###############################################################################