]> git.sesse.net Git - vlc/blobdiff - Makefile.am
Win32: add some metadata to vlc.exe
[vlc] / Makefile.am
index f3ad1e465d0ecc1eea1eddc16af1504667ff0256..0f1146db87d74040c45f0d1007c1c3a6c892126d 100644 (file)
@@ -2,6 +2,12 @@
 # Automake targets and declarations
 ###############################################################################
 
+# Pass --quiet to make when we are not verbose.
+AM_MAKEFLAGS = $(makesilentflags_$(V))
+makesilentflags_ = $(makesilentflags__$(AM_DEFAULT_VERBOSITY))
+makesilentflags_0 = --quiet
+makesilentflags__0 = $(makesilentflags_0)
+
 # 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.
@@ -17,7 +23,7 @@ SUBDIRS = po compat src
 if LOADER
 SUBDIRS += libs/loader
 endif
-if HAVE_LIBGCRYPT
+if HAVE_GCRYPT
 SUBDIRS += libs/srtp
 endif
 if HAVE_ZLIB
@@ -42,7 +48,6 @@ EXTRA_DIST = \
        INSTALL.wince \
        extras/package/win32/vlc.exe.manifest \
        extras/package/win32/libvlc.dll.manifest \
-       MAINTAINERS \
        extras/package/macosx/README.MacOSX.rtf \
        vlc-config.in.in \
        extras/package/rpm/vlc.fedora.spec \
@@ -109,13 +114,12 @@ EXTRA_DIST += \
        extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
        extras/package/macosx/Resources/English.lproj/Extended.nib/designable.nib \
        extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
-       extras/package/macosx/Resources/English.lproj/Update.nib/designable.nib \
-       extras/package/macosx/Resources/English.lproj/Update.nib/keyedobjects.nib \
        extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
        extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
        extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
        extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
        extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
+       extras/package/macosx/Resources/dsa_pub.pem \
        extras/package/macosx/Resources/aiff.icns \
        extras/package/macosx/Resources/audio.icns \
        extras/package/macosx/Resources/avi.icns \
@@ -411,23 +415,31 @@ noinst_DATA = VLC.app
 endif
 endif
 
+silentstd = $(silentstd_$(V))
+silentstd_ = $(silentstd__$(AM_DEFAULT_VERBOSITY))
+silentstd_0 = 2>&1 >/dev/null
+# '__' prefix trick for old automake version.
+silentstd__0 = $(silentstd_0)
+
 # VLC-release.app for packaging and giving it to your friends
 # use package-macosx to get a nice dmg
 VLC-release.app: vlc
-       ( cd src && make install )
+       ( cd src && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd) )
        rm -Rf "$(top_builddir)/tmp"
        mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
        rm -Rf $(top_builddir)/VLC-release.app
        for i in vlc.xcodeproj Resources README.MacOSX.rtf ; do \
          cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
        done
-       REVISION=`git describe --always` && \
+       REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
        cat $(top_builddir)/extras/package/macosx/Info.plist | \
        sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
        cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
        for i in AUTHORS COPYING THANKS; do \
          cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
        done
+       mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
+       cp -R $(top_srcdir)/extras/contrib/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
        mkdir -p $(top_builddir)/tmp/modules/audio_output
        mkdir -p $(top_builddir)/tmp/modules/gui/macosx
        for i in \
@@ -468,8 +480,6 @@ VLC-release.app: vlc
            extended.m \
            bookmarks.h \
            bookmarks.m \
-           update.h \
-           update.m \
            coredialogs.h \
            coredialogs.m \
            embeddedwindow.h \
@@ -480,10 +490,10 @@ VLC-release.app: vlc
          cp "$(srcdir)/modules/gui/macosx/$$i" \
              $(top_builddir)/tmp/modules/gui/macosx; \
        done
-       cd $(top_builddir)/tmp/extras/package/macosx && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
-           cd ../../../../ && \
-           cp -R $(top_builddir)/tmp/extras/package/macosx/build/Default/VLC.bundle \
-                 $(top_builddir)/VLC-release.app; \
+       $(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
+        xcodebuild -target vlc $(silentstd) && \
+       cd ../../../../ && \
+       cp -R $(top_builddir)/tmp/extras/package/macosx/build/Default/VLC.bundle $(top_builddir)/VLC-release.app; \
        rm -Rf $(top_builddir)/tmp
        $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
        PRODUCT="VLC-release.app" ACTION="release-makefile" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/projects/macosx/framework/Pre-Compile.sh
@@ -567,20 +577,22 @@ VLC-release.app: vlc
 # This is just for development purposes. 
 # The resulting VLC.app will only run in this tree.
 VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.libs/libvlc.dylib
-       (cd src && make install)
+       $(AM_V_GEN)(cd src && make install $(silentstd))
        rm -Rf $(top_builddir)/tmp
        mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
        rm -Rf $(top_builddir)/VLC.app
        for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
          cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
        done
-       REVISION=`git describe --always` && \
+       REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
        cat $(top_builddir)/extras/package/macosx/Info.plist | \
        sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
        cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
        for i in AUTHORS COPYING THANKS; do \
          cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
        done
+       mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
+       cp -R $(top_srcdir)/extras/contrib/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
        mkdir -p $(top_builddir)/tmp/modules/audio_output
        mkdir -p $(top_builddir)/tmp/modules/gui/macosx
        for i in \
@@ -621,8 +633,6 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.lib
            extended.m \
            bookmarks.h \
            bookmarks.m \
-           update.h \
-           update.m \
            coredialogs.h \
            coredialogs.m \
            embeddedwindow.h \
@@ -633,10 +643,10 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.lib
          cp "$(srcdir)/modules/gui/macosx/$$i" \
              $(top_builddir)/tmp/modules/gui/macosx; \
        done
-       cd $(top_builddir)/tmp/extras/package/macosx && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
-           cd ../../../../ && \
-           cp -R $(top_builddir)/tmp/extras/package/macosx/build/Default/VLC.bundle \
-                 $(top_builddir)/VLC.app
+       $(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
+       xcodebuild -target vlc $(silentstd) && \
+       cd ../../../../ && \
+       cp -R $(top_builddir)/tmp/extras/package/macosx/build/Default/VLC.bundle $(top_builddir)/VLC.app
        $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
        touch $(top_builddir)/VLC.app/Contents/MacOS/VLC
        chmod +x $(top_builddir)/VLC.app/Contents/MacOS/VLC
@@ -755,6 +765,13 @@ package-win32-base-debug: package-win-common
 # Contrib *.dll's
        cp $(srcdir)/extras/contrib/lib/*.dll "vlc-$(VERSION)/" || true
 
+#Enable DEP and ASLR for all the binaries
+if USE_PEFLAGS
+       find $(win32_destdir) -type f -name '*.dll' -print -o -name '*.exe' -print | while read i; do \
+       $(PEFLAGS) --dynamicbase=true --nxcompat=true "$$i" ; \
+       done
+endif
+
 # Copy the lua scripts (HTTP)
 if BUILD_LUA
        mkdir -p "$(win32_lua_destdir)/http/images"
@@ -873,7 +890,7 @@ endif
        find vlc-$(VERSION)/sdk.tmp -type d | sort -r | xargs rmdir
        rm -Rf vlc-$(VERSION)/sdk/bin
 
-#strip exe and main dll
+# Strip DLLs
 package-win-common-strip: package-win32-base-debug
        @if test -e "$(win32_debugdir)"; then \
          echo "Error: please remove $(win32_debugdir), it is in the way"; \
@@ -881,23 +898,18 @@ package-win-common-strip: package-win32-base-debug
        else \
          echo "OK."; mkdir -p "$(win32_debugdir)"; \
        fi
-       for i in "" vlc-$(VERSION)/*$(LIBEXT) ; \
-      do if test -n "$$i" ; then \
-      $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
-      $(OBJCOPY) --strip-all "$$i" ; \
-      $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
-         mv "$$i.dbg" "$(win32_debugdir)"; \
-    fi; done
-
-#strip all plugins dll
+       for i in "" $(win32_destdir)/*$(LIBEXT) \
+                   $(win32_destdir)/plugins/*$(LIBEXT) \
+       ; do \
+         if test -n "$$i" ; then \
+           $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
+           $(OBJCOPY) --strip-all "$$i" ; \
+           $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
+           mv "$$i.dbg" "$(win32_debugdir)"; \
+         fi ; \
+       done
+
 package-win32-base: package-win-common-strip
-       for i in "" $(win32_destdir)/plugins/*$(LIBEXT) ; \
-         do if test -n "$$i" ; then \
-         $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
-         $(OBJCOPY) --strip-all "$$i" ; \
-         $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
-         mv "$$i.dbg" "$(win32_debugdir)"; \
-       fi ; done
 
 package-win32-base-exe: package-win32-base
 # Create package
@@ -963,13 +975,14 @@ package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip
 # Clean up
        rm -Rf $(win32_destdir)
 
-package-wince-base: package-win-common package-win-common-strip
+package-wince-base: package-win-common-strip
 
-package-wince-base-zip:
+package-wince-base-zip: package-wince-base
 # Create package 
-       zip -r vlc-$(VERSION)-wince.zip vlc-$(VERSION)
+       rm -f -- vlc-$(VERSION)-wince.zip
+       zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
 
-package-wince: package-wince-base  package-wince-base-zip
+package-wince: package-wince-base-zip
 # Clean up
        rm -Rf $(win32_destdir)
 
@@ -1116,6 +1129,7 @@ if BUILD_MOZILLA
 # Create Installer
        rm -rf "$(top_builddir)/macosx-plugin-instdata/"; true
        mkdir -p "$(top_builddir)/macosx-plugin-instdata"
+       rm -f "$(top_builddir)/projects/mozilla/VLC Plugin.plugin/Contents/MacOS/modules/libmacosx_plugin.dylib" 
        cp -R "$(top_builddir)/projects/mozilla/VLC Plugin.plugin" "$(top_builddir)/macosx-plugin-instdata"
        rm -rf "$(top_builddir)/VLC Internet Plug-In.pkg"
        export PACKAGEMAKER=