]> git.sesse.net Git - vlc/blobdiff - Makefile.am
Backport of [11415]
[vlc] / Makefile.am
index 34e4c5e6ca1736def628ebdc127d9a52639401ff..250d45779bc251b0fcf53776ea7b6fbd9e63357d 100644 (file)
@@ -24,7 +24,6 @@ EXTRA_DIST = \
        src/extras/COPYING \
        toolbox \
        vlc-config.in.in \
-       vlc.ebuild \
        vlc.spec \
        vlc.spec.mdk \
        vlc.win32.nsi \
@@ -126,13 +125,13 @@ HEADERS_include_built = \
        include/vlc_symbols.h \
        $(NULL)
 
-include/vlc_symbols.h: Makefile $(HEADERS_include)
-       srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
-
-src/misc/modules_plugin.h: Makefile src/misc/modules_plugin.h.in $(HEADERS_include)
-       srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
+# 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_builtin.h: Makefile src/misc/modules_builtin.h.in
+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
 
 # These dependencies are mandatory
@@ -168,7 +167,6 @@ EXTRA_DIST += \
        extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
        extras/MacOSX/Resources/English.lproj/Preferences.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 +226,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 +253,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
 
@@ -419,7 +417,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`
 
@@ -486,6 +489,104 @@ 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 \
+           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"; \
@@ -546,40 +647,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,13 +751,22 @@ 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}/ ;
 
@@ -691,10 +786,14 @@ if BUILD_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 +870,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