]> git.sesse.net Git - vlc/blobdiff - Makefile.am
_Experimental_ *optional* libtool support (--enable-libtool)
[vlc] / Makefile.am
index 3acbca09913e57546a17df08996a674ef4ea83c1..b4808335a39ccdb85d68f1e1b7b9527e56300e79 100644 (file)
@@ -13,7 +13,7 @@ NULL =
 #  - 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) debian ipkg lib
+DIST_SUBDIRS = $(SUBDIRS) debian ipkg
 
 EXTRA_DIST = \
        HACKING \
@@ -80,6 +80,9 @@ EXTRA_DIST += \
        extras/MacOSX/Resources/English.lproj/Update.nib/classes.nib \
        extras/MacOSX/Resources/English.lproj/Update.nib/info.nib \
        extras/MacOSX/Resources/English.lproj/Update.nib/keyedobjects.nib \
+       extras/MacOSX/Resources/English.lproj/Interaction.nib/classes.nib \
+       extras/MacOSX/Resources/English.lproj/Interaction.nib/info.nib \
+       extras/MacOSX/Resources/English.lproj/Interaction.nib/keyedobjects.nib \
        extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
        extras/MacOSX/Resources/a52.icns \
        extras/MacOSX/Resources/aac.icns \
@@ -197,6 +200,16 @@ DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
 # Building vlc
 ###############################################################################
 
+.PHONY: libvlc
+
+# 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: libvlc vlc$(EXEEXT)
+
+libvlc:
+       cd src && $(MAKE) all
+
 bin_PROGRAMS = vlc
 
 vlc_SOURCES = src/vlc.c
@@ -208,34 +221,46 @@ if HAVE_WINCE
 vlc_WORKAROUNDLDFLAGS = $(LIB_libvlc)
 endif
 
+# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
+# old automake-1.5 bug (automake/279).
+DEPENDENCIES_vlc = $(LIB_libvlc) $(DATA_win32_rc)
+
+vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
+if USE_LIBTOOL
+vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc`
+LIB_libvlc = src/libvlc.la
+LIBVLC = $(LIB_libvlc)
+else
 if BUILD_SHARED
+vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc` -Wl,-rpath $(libdir) -L$(top_builddir)/src -lvlc
+if HAVE_WIN32
+LIB_libvlc = src/libvlc.dll.a
+else
 LIB_libvlc = src/libvlc$(LIBEXT)
-#-Wl,-rpath $(libdir)
+endif
+LIBVLC =
 else
+vlc_LDFLAGS = $(vlc_WORKAROUNDLFDLAGS) `$(VLC_CONFIG) --libs vlc builtin`
 LIB_libvlc = src/libvlc.a
+LIBVLC = $(LIB_libvlc)
+DEPENDENCIES_vlc += stamp-builtin
 endif
+endif
+vlc_LDADD = $(DATA_win32_rc) $(LIBVLC) $(INCLUDED_LIBINTL)
 
-vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin` $(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) $(DATA_win32_rc)
-
-vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
+vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc)
        @rm -f vlc$(EXEEXT)
        @case `$(VLC_CONFIG) --linkage vlc builtin` in \
          c++) cmd="$(CXXLINK)" ;; \
          objc) cmd="$(OBJCLINK)" ;; \
          c|*) cmd="$(LINK)" ;; \
        esac ; \
-       cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS)" ; \
+       cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS)" ; \
        echo $$cmd ; \
        eval $$cmd
 
 if HAVE_BEOS
-DATA_noinst_beos = vlc-bundle
+noinst_DATA = 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/
@@ -260,7 +285,7 @@ vlc-bundle: vlc
        find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
 endif
 
-# Install the symlinks and shared libvlc
+# Install the symlinks
 install-exec-local:
        for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
          rm -f "$(DESTDIR)$(bindir)/$$i" && \
@@ -517,7 +542,8 @@ remove_distdir_woody = \
 # XXX: this rule is probably only useful to you if you have exactly
 # the same setup as me. Contact sam@zoy.org if you need to use it.
 #
-package-win32-base-debug:
+
+package-win-common:
 # 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"; \
@@ -527,22 +553,18 @@ package-win32-base-debug:
        fi
 
 # Copy relevant files
-       cp "$(srcdir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
        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)"
+if BUILD_SHARED
+       cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
+       $(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
+endif
 
        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 -p "$(top_builddir)/vlc-${VERSION}/plugins"
-       for i in "" `$(VLC_CONFIG) --target plugin` ; do \
-         if test -n "$$i" ; then \
-           $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
-            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
-         fi ; done
-
        mkdir $(top_builddir)/vlc-${VERSION}/locale
        for i in $(ALL_LINGUAS); do \
          mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
@@ -551,26 +573,6 @@ package-win32-base-debug:
             || true ; \
        done
 
-       mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
-       for i in $(srcdir)/share/skins2/fonts/*.*; do \
-         cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
-       done
-       for i in $(srcdir)/share/skins2/*.*; do \
-         cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
-       done
-
-       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"
        mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
@@ -603,15 +605,15 @@ package-win32-base-debug:
 
        cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
 
-       mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
 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
 
-       mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
 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/* ;
@@ -624,6 +626,38 @@ endif
                find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
        fi
 
+package-win32-base-debug: package-win-common
+# Copy relevant files
+       cp "$(srcdir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
+
+       mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
+       for i in "" `$(VLC_CONFIG) --target plugin` ; do \
+         if test -n "$$i" ; then \
+           $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
+            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
+         fi ; done
+
+       mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
+       for i in $(srcdir)/share/skins2/fonts/*.*; do \
+         cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
+       done
+       for i in $(srcdir)/share/skins2/*.*; do \
+         cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
+       done
+
+       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 
+
+
 package-win32-base: package-win32-base-debug
        for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
          do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
@@ -669,85 +703,7 @@ 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"
-       mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
-       mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
-       mkdir -p "$(top_builddir)/vlc-${VERSION}/http/old"
-       mkdir -p "$(top_builddir)/vlc-${VERSION}/http/old/vlm"
-       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/*.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/*.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/http/old/*.html $(top_builddir)/vlc-${VERSION}/http/old/ ;
-       unix2dos $(top_builddir)/vlc-${VERSION}/http/old/*.html ;
-       cp $(srcdir)/share/http/old/*.ico $(top_builddir)/vlc-${VERSION}/http/old/ ;
-       cp $(srcdir)/share/http/old/*.css $(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/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 rebase -b 0x42 /dev/null >/dev/null 2>&1; then \
-               find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
-       fi
+package-wince-base: package-win-common
 
 package-wince-base-zip:
 # Create package