changeset 3293:cf6f40cededb

Support file list generation in packages. For the following modules: - arpack - blas - build-autoconf - build-automake - build-cmake - build-gperf - build-libtool - build-msvctools - build-pkg-config - build-texinfo - bzip2 - curl - dbus - expat - fftw - fltk - fontconfig - freetype - gettext - glpk - gmp - gnuplot - gnutls - graphicsmagick - hdf5 - jasper - jpeg - lapack - lcms - libgcrypt - libgpg_error - libiconv - libidn - libpng - libssh2 - libxml2 - ncurses - nettle - openssl - pcre - pstoedit - zlib - qhull - qrupdate - qscintilla - qt - readline - suitesparse - texinfo - tiff
author Michael Goffioul <michael.goffioul@gmail.com>
date Sat, 09 Nov 2013 23:28:04 -0500
parents fda357ce9f64
children 762fe9ac559f
files src/arpack.mk src/blas.mk src/build-autoconf.mk src/build-automake.mk src/build-cmake.mk src/build-gperf.mk src/build-libtool.mk src/build-msvctools.mk src/build-pkg-config.mk src/build-texinfo.mk src/bzip2.mk src/curl.mk src/dbus.mk src/expat.mk src/fftw.mk src/fltk.mk src/fontconfig.mk src/freetype.mk src/gettext.mk src/glpk.mk src/gmp.mk src/gnuplot.mk src/gnutls.mk src/graphicsmagick.mk src/hdf5.mk src/jasper.mk src/jpeg.mk src/lapack.mk src/lcms.mk src/libgcrypt.mk src/libgpg_error.mk src/libiconv.mk src/libidn.mk src/libpng.mk src/libssh2.mk src/libxml2.mk src/ncurses.mk src/nettle.mk src/openssl.mk src/pcre.mk src/pstoedit.mk src/qhull.mk src/qrupdate.mk src/qscintilla.mk src/qt.mk src/readline.mk src/suitesparse.mk src/texinfo.mk src/tiff.mk src/zlib.mk
diffstat 50 files changed, 148 insertions(+), 129 deletions(-) [+]
line wrap: on
line diff
--- a/src/arpack.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/arpack.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -51,10 +51,10 @@
     $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
 
     if [ $(BUILD_STATIC) = yes ]; then \
-      $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install; \
+      $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'; \
     fi
 
     if [ $(BUILD_SHARED) = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/.build/.libs/libarpack.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' -llapack -l$($(PKG)_BLAS_LIB); \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/.build/.libs/libarpack.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' -llapack -l$($(PKG)_BLAS_LIB); \
     fi
 endef
--- a/src/blas.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/blas.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -24,11 +24,11 @@
     cd '$(1)' && $(MXE_AR) cr libblas.a *.o
 
     if [ $(BUILD_SHARED) = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libblas.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libblas.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
     fi
 
     if [ $(BUILD_STATIC) = yes ]; then \
-      $(INSTALL) -d '$(HOST_LIBDIR)'; \
-      $(INSTALL) '$(1)/libblas.a' '$(HOST_LIBDIR)/'; \
+      $(INSTALL) -d '$(3)$(HOST_LIBDIR)'; \
+      $(INSTALL) '$(1)/libblas.a' '$(3)$(HOST_LIBDIR)/'; \
     fi
 endef
--- a/src/build-autoconf.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/build-autoconf.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -26,5 +26,5 @@
     cd    '$(1).build' && '$(1)/configure' \
         --prefix='$(BUILD_TOOLS_PREFIX)'
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build' -j 1 install
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/build-automake.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/build-automake.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -19,5 +19,5 @@
     cd    '$(1).build' && '$(1)/configure' \
         --prefix='$(BUILD_TOOLS_PREFIX)'
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build' -j 1 install
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/build-cmake.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/build-cmake.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -19,5 +19,5 @@
     cd    '$(1).build' && '$(1)/configure' \
         --prefix='$(BUILD_TOOLS_PREFIX)'
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build' -j 1 install
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/build-gperf.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/build-gperf.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -19,5 +19,5 @@
     cd    '$(1).build' && '$(1)/configure' \
         --prefix='$(BUILD_TOOLS_PREFIX)'
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build' -j 1 install
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/build-libtool.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/build-libtool.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -32,5 +32,5 @@
     if test x$(MXE_SYSTEM) = xmsvc; then \
         cd '$(1).build' && $(CONFIGURE_POST_HOOK); \
     fi
-    $(MAKE) -C '$(1).build' -j 1 install
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/build-msvctools.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/build-msvctools.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -17,7 +17,7 @@
 
 define $(PKG)_BUILD
     make -C '$(1)' -j 1 \
-	DESTDIR='$(HOST_PREFIX)' \
+	DESTDIR='$(3)$(HOST_PREFIX)' \
 	CMAKE_DESTDIR='$($(PKG)_CMAKE_DESTDIR)' \
 	GCCVERSION='$(build-gcc_VERSION)' \
 	INSTALL='$(INSTALL)' \
--- a/src/build-pkg-config.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/build-pkg-config.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -29,5 +29,5 @@
         --prefix='$(BUILD_TOOLS_PREFIX)'
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
     rm -f "$(BUILD_TOOLS_PREFIX)/bin/`config.guess`-pkg-config"
-    $(MAKE) -C '$(1).build' -j 1 install
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/build-texinfo.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/build-texinfo.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -24,8 +24,8 @@
     $(MAKE) -C '$(1).build/makeinfo' -j '$(JOBS)'
     $(MAKE) -C '$(1).build/util' -j '$(JOBS)'
 
-    $(MAKE) -C '$(1).build/gnulib/lib' -j 1 install
-    $(MAKE) -C '$(1).build/lib' -j 1 install
-    $(MAKE) -C '$(1).build/makeinfo' -j 1 install
-    $(MAKE) -C '$(1).build/util' -j 1 install
+    $(MAKE) -C '$(1).build/gnulib/lib' -j 1 install DESTDIR='$(3)'
+    $(MAKE) -C '$(1).build/lib' -j 1 install DESTDIR='$(3)'
+    $(MAKE) -C '$(1).build/makeinfo' -j 1 install DESTDIR='$(3)'
+    $(MAKE) -C '$(1).build/util' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/bzip2.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/bzip2.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -25,15 +25,15 @@
         CC='$(MXE_CC)' \
         AR='$(MXE_AR)' \
         RANLIB='$(MXE_RANLIB)'
-    $(INSTALL) -d '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/bzlib.h' '$(HOST_INCDIR)'
+    $(INSTALL) -d '$(3)$(HOST_INCDIR)'
+    $(INSTALL) -m644 '$(1)/bzlib.h' '$(3)$(HOST_INCDIR)'
 
     if [ $(BUILD_SHARED) = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(1)/libbz2.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(1)/libbz2.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
     fi
 
     if [ $(BUILD_STATIC) = yes ]; then \
-      $(INSTALL) '$(1)/libbz2.a' '$(HOST_LIBDIR)/'; \
+      $(INSTALL) '$(1)/libbz2.a' '$(3)$(HOST_LIBDIR)/'; \
     fi
 endef
 else
@@ -45,11 +45,11 @@
         CC='$(MXE_CC)' \
         AR='$(MXE_AR)' \
         RANLIB='$(MXE_RANLIB)'
-    $(INSTALL) -d '$(HOST_LIBDIR)'
-    $(INSTALL) -m755 '$(1)/libbz2.so.1.0.6' '$(HOST_LIBDIR)'
-    rm -f '$(HOST_LIBDIR)/libbz2.so.1.0'
-    $(LN_SF) libbz2.so.1.0.6 '$(HOST_LIBDIR)/libbz2.so.1.0'
-    $(INSTALL) -d '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/bzlib.h' '$(HOST_INCDIR)'
+    $(INSTALL) -d '$(3)$(HOST_LIBDIR)'
+    $(INSTALL) -m755 '$(1)/libbz2.so.1.0.6' '$(3)$(HOST_LIBDIR)'
+    rm -f '$(3)$(HOST_LIBDIR)/libbz2.so.1.0'
+    $(LN_SF) libbz2.so.1.0.6 '$(3)$(HOST_LIBDIR)/libbz2.so.1.0'
+    $(INSTALL) -d '$(3)$(HOST_INCDIR)'
+    $(INSTALL) -m644 '$(1)/bzlib.h' '$(3)$(HOST_INCDIR)'
 endef
 endif
--- a/src/curl.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/curl.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -26,7 +26,7 @@
         --enable-sspi \
         --enable-ipv6 \
         --with-libssh2 && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' DESTDIR='$(3)' install
 
 ##    '$(MXE_CC)' \
 ##        -W -Wall -Werror -ansi -pedantic \
--- a/src/dbus.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/dbus.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -33,5 +33,5 @@
         --disable-xml-docs \
         CFLAGS='-DPROCESS_QUERY_LIMITED_INFORMATION=0x1000' \
 	&& $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/expat.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/expat.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -21,5 +21,5 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
 endef
--- a/src/fftw.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/fftw.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -38,7 +38,7 @@
         $($(PKG)_CONFIG_OPTS) \
         --enable-double && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
 
     if $($(PKG)_HAVE_LONG_DOUBLE); then \
         cd '$(1)' && ./configure \
@@ -51,7 +51,7 @@
             $($(PKG)_CONFIG_OPTS) \
             --enable-long-double && $(CONFIGURE_POST_HOOK) ; \
         $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= ; \
-        $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= ; \
+        $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)' ; \
     fi
 
     cd '$(1)' && ./configure \
@@ -64,5 +64,5 @@
         $($(PKG)_CONFIG_OPTS) \
         --enable-float && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
 endef
--- a/src/fltk.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/fltk.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -45,8 +45,9 @@
     $(SED) -i 's,-fno-exceptions,,' '$(1)/makeinclude'
     $(MAKE) -C '$(1)' -j '$(JOBS)' install \
         DIRS=src \
-        LIBCOMMAND='$(MXE_AR) cr'
+        LIBCOMMAND='$(MXE_AR) cr' \
+        DESTDIR='$(3)'
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
-      $(INSTALL) -m755 '$(HOST_BINDIR)/fltk-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config'; \
+      $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/fltk-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config'; \
     fi
 endef
--- a/src/fontconfig.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/fontconfig.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -27,5 +27,5 @@
         --disable-docs \
         --with-expat='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
 endef
--- a/src/freetype.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/freetype.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -20,7 +20,7 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 
-    rm -f $(HOST_LIBDIR)/libfreetype.la
+    rm -f '$(3)$(HOST_LIBDIR)/libfreetype.la'
 endef
--- a/src/gettext.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/gettext.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -25,7 +25,7 @@
         --without-libexpat-prefix \
         --without-libxml2-prefix \
         CONFIG_SHELL=$(SHELL) && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)/gettext-runtime' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)/gettext-runtime' -j '$(JOBS)' install DESTDIR='$(3)'
 
     $(if $(filter msvc,$(MXE_SYSTEM)),
         cd '$(1)/gettext-tools' && ./configure \
@@ -37,6 +37,6 @@
             --without-libxml2-prefix \
 	    ac_cv_func_memset=yes \
             CONFIG_SHELL=$(SHELL) && $(CONFIGURE_POST_HOOK)
-        $(MAKE) -C '$(1)/gettext-tools' -j '$(JOBS)' install
+        $(MAKE) -C '$(1)/gettext-tools' -j '$(JOBS)' install DESTDIR='$(3)'
     )
 endef
--- a/src/glpk.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/glpk.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -22,5 +22,5 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/gmp.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/gmp.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -36,5 +36,5 @@
         --enable-cxx \
         --without-readline && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/gnuplot.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/gnuplot.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -19,11 +19,12 @@
     make -C '$(1)/config/mingw' CC='$(MXE_CC)' CXX='$(MXE_CXX)' RC='$(MXE_WINDRES)' -j '$(JOBS)' TARGET=gnuplot.exe gnuplot.exe
     make -C '$(1)/config/mingw' CC='$(MXE_CC)' CXX='$(MXE_CXX)' RC='$(MXE_WINDRES)' -j '$(JOBS)' TARGET=wgnuplot.exe wgnuplot.exe
 
-    $(INSTALL) -d '$(HOST_BINDIR)'
-    $(INSTALL) -m755 '$(1)/config/mingw/gnuplot.exe' '$(HOST_BINDIR)'
-    $(INSTALL) -m755 '$(1)/config/mingw/wgnuplot.exe' '$(HOST_BINDIR)'
-    $(INSTALL) -m644 '$(1)/src/win/wgnuplot.mnu' '$(HOST_BINDIR)'
+    $(INSTALL) -d '$(3)$(HOST_BINDIR)'
+    $(INSTALL) -m755 '$(1)/config/mingw/gnuplot.exe' '$(3)$(HOST_BINDIR)'
+    $(INSTALL) -m755 '$(1)/config/mingw/wgnuplot.exe' '$(3)$(HOST_BINDIR)'
+    $(INSTALL) -m644 '$(1)/src/win/wgnuplot.mnu' '$(3)$(HOST_BINDIR)'
 
+    ## MG: not sure what to do with these and how to integrate with DESTDIR
     $(INSTALL) -d '$(TOP_DIR)/gnuplot/bin'
     $(INSTALL) -m755 '$(1)/config/mingw/gnuplot.exe' '$(TOP_DIR)/gnuplot/bin/'
     $(INSTALL) -m755 '$(1)/config/mingw/wgnuplot.exe' '$(TOP_DIR)/gnuplot/bin/'
@@ -33,16 +34,17 @@
 else
 ifeq ($(MXE_SYSTEM),msvc)
 define $(PKG)_BUILD
+    $(INSTALL) -d '$(3)$(HOST_PREFIX)'
     cd '$(1)/config/msvc' && \
         env -u MAKE -u MAKEFLAGS nmake DESTDIR=$(shell (cd '$(HOST_PREFIX)' && pwd -W) | sed -e 's#/#\\\\#g') && \
-        env -u MAKE -u MAKEFLAGS nmake DESTDIR=$(shell (cd '$(HOST_PREFIX)' && pwd -W) | sed -e 's#/#\\\\#g') install
+        env -u MAKE -u MAKEFLAGS nmake DESTDIR=$(shell (cd '$(3)$(HOST_PREFIX)' && pwd -W) | sed -e 's#/#\\\\#g') install
 endef
 else
 define $(PKG)_BUILD
     cd '$(1)' && ./configure \
       $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) LIBS=-liconv \
       --prefix '$(HOST_PREFIX)'
-    make -C '$(1)' -j '$(JOBS)' install
+    make -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
 endif
 endif
--- a/src/gnutls.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/gnutls.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -47,5 +47,5 @@
         LIBS='-lws2_32' \
         ac_cv_prog_AR='$(MXE_AR)' && $(CONFIGURE_POST_HOOK)
 
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/graphicsmagick.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/graphicsmagick.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -50,5 +50,5 @@
         ac_cv_path_xml2_config='$(HOST_BINDIR)/xml2-config' \
 	&& $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= DESTDIR='$(3)'
 endef
--- a/src/hdf5.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/hdf5.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -69,5 +69,5 @@
       ;; \
     esac
 
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/jasper.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/jasper.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -24,5 +24,5 @@
         --enable-libjpeg \
         --disable-opengl \
         --without-x && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
 endef
--- a/src/jpeg.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/jpeg.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -21,5 +21,5 @@
         --prefix='$(HOST_PREFIX)' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= DESTDIR='$(3)'
 endef
--- a/src/lapack.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/lapack.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -42,14 +42,14 @@
     $(MAKE) -C '$(1)' -j '$(JOBS)' VERBOSE=1 lapacklib
 
     if [ $(BUILD_SHARED) = yes ]; then \
-        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/liblapack.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' -lblas; \
+        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/liblapack.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' -lblas; \
     fi
 
-    $(INSTALL) -d '$(HOST_LIBDIR)/pkgconfig' 
+    $(INSTALL) -d '$(3)$(HOST_LIBDIR)/pkgconfig' 
     $(SED) -e 's/@LAPACK_VERSION@/$($(PKG)_VERSION)/' \
            -e 's,@prefix@,$(HOST_PREFIX),' \
 	   -e 's,@libdir@,$${prefix}/lib,' '$(1)/lapack.pc.in' > '$(1)/lapack.pc'
-    $(INSTALL) '$(1)/lapack.pc' '$(HOST_LIBDIR)/pkgconfig/'
+    $(INSTALL) '$(1)/lapack.pc' '$(3)$(HOST_LIBDIR)/pkgconfig/'
 
 endef
 else
@@ -60,19 +60,19 @@
         -DCMAKE_Fortran_FLAGS='$($(PKG)_DEFAULT_INTEGER_8_FLAG)' \
         $($(PKG)_BLAS_CONFIG_OPTS) \
         .
-    $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' VERBOSE=1 install
+    $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' VERBOSE=1 install DESTDIR='$(3)'
 
     if [ $(BUILD_SHARED) = yes ]; then \
-      $(INSTALL) '$(1)/lib/liblapack.dll.a' '$(HOST_LIBDIR)/'; \
-      $(INSTALL) '$(1)/lib/liblapack.lib' '$(HOST_LIBDIR)/'; \
-      $(INSTALL) '$(1)/bin/liblapack.dll' '$(HOST_BINDIR)/'; \
+      $(INSTALL) '$(1)/lib/liblapack.dll.a' '$(3)$(HOST_LIBDIR)/'; \
+      $(INSTALL) '$(1)/lib/liblapack.lib' '$(3)$(HOST_LIBDIR)/'; \
+      $(INSTALL) '$(1)/bin/liblapack.dll' '$(3)$(HOST_BINDIR)/'; \
     fi
     if [ $(BUILD_STATIC) = yes ]; then \
-      $(INSTALL) '$(1)/lib/liblapack.a' '$(HOST_LIBDIR)/'; \
+      $(INSTALL) '$(1)/lib/liblapack.a' '$(3)$(HOST_LIBDIR)/'; \
     fi
 
-    $(INSTALL) -d '$(HOST_LIBDIR)/pkgconfig' 
-    $(INSTALL) '$(1)/lapack.pc' '$(HOST_LIBDIR)/pkgconfig/'
+    $(INSTALL) -d '$(3)$(HOST_LIBDIR)/pkgconfig' 
+    $(INSTALL) '$(1)/lapack.pc' '$(3)$(HOST_LIBDIR)/pkgconfig/'
 
 endef
 endif
@@ -85,6 +85,6 @@
         -DCMAKE_Fortran_FLAGS='$($(PKG)_DEFAULT_INTEGER_8_FLAG)' \
         $($(PKG)_BLAS_CONFIG_OPTS) \
         .
-    $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' VERBOSE=1 install
+    $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' VERBOSE=1 install DESTDIR='$(3)'
 endef
 endif
--- a/src/lcms.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/lcms.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -23,5 +23,5 @@
         --with-jpeg \
         --with-tiff \
         --with-zlib && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= DESTDIR='$(3)'
 endef
--- a/src/libgcrypt.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/libgcrypt.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -33,8 +33,8 @@
         $($(PKG)_TARGET_CONFIGURE_OPTIONS) && $(CONFIGURE_POST_HOOK)
     $(if $(filter msvc,$(MXE_SYSTEM)), \
         $(SED) -i -e '/^LTCPPASCOMPILE/ {s/$$(LIBTOOL)/& --tag=CC/;}' '$(1)/mpi/Makefile')
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
-      $(INSTALL) -m755 '$(HOST_BINDIR)/libgcrypt-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)libgcrypt-config'; \
+      $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/libgcrypt-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)libgcrypt-config'; \
     fi
 endef
--- a/src/libgpg_error.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/libgpg_error.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -24,8 +24,8 @@
         --disable-nls \
         --disable-languages && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)/src' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)/src' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)/src' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
-      $(INSTALL) -m755 '$(HOST_BINDIR)/gpg-error-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)gpg-error-config'; \
+      $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/gpg-error-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)gpg-error-config'; \
     fi
 endef
--- a/src/libiconv.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/libiconv.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -25,5 +25,5 @@
 	CC='$(MXE_CC)' \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         --disable-nls && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/libidn.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/libidn.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -24,5 +24,5 @@
         --disable-csharp \
         --prefix='$(HOST_PREFIX)' \
         --with-libiconv-prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
 endef
--- a/src/libpng.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/libpng.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -33,8 +33,8 @@
         $(ENABLE_SHARED_OR_STATIC) \
 	$($(PKG)_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
 
-    rm -f $(HOST_LIBDIR)/libpng.la
-    rm -f $(HOST_LIBDIR)/libpng15.la
+    rm -f '$(3)$(HOST_LIBDIR)/libpng.la'
+    rm -f '$(3)$(HOST_LIBDIR)/libpng15.la'
 endef
--- a/src/libssh2.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/libssh2.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -26,7 +26,7 @@
         --without-openssl \
         --with-libgcrypt \
         PKG_CONFIG='$(MXE_PKG_CONFIG)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= html_DATA=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= html_DATA= DESTDIR='$(3)'
 
 ##    '$(MXE_CC)' \
 ##        -W -Wall -Werror -ansi -pedantic \
--- a/src/libxml2.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/libxml2.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -31,5 +31,5 @@
         --without-python \
         --without-threads && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install noinst_PROGRAMS= DESTDIR='$(3)'
 endef
--- a/src/ncurses.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/ncurses.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -53,5 +53,5 @@
             -exec $(SED) -i 's,-\<O2\>,,' {} \; ; \
     fi
 
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/nettle.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/nettle.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -33,12 +33,12 @@
         --install '$(INSTALL)' --libdir '$(1)' --bindir '$(1)' -lnettle -lgmp
     $(MAKE) -C '$(1)' -j '$(JOBS)'
 
-    $(MAKE) -C '$(1)' -j 1 install-info install-headers install-pkgconfig
-    $(MAKE) -C '$(1)/tools' -j 1 install
+    $(MAKE) -C '$(1)' -j 1 install-info install-headers install-pkgconfig DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/tools' -j 1 install DESTDIR='$(3)'
     $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libnettle.a' \
-        --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' -lgmp
+        --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' -lgmp
     $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libhogweed.a' \
-        --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' -lnettle -lgmp
+        --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' -lnettle -lgmp
 endef
 else
 define $(PKG)_BUILD
@@ -48,6 +48,6 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)'
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
 endef
 endif
--- a/src/openssl.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/openssl.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -64,5 +64,6 @@
         RANLIB='$(MXE_RANLIB)' \
         AR='$(MXE_AR) rcu' AS='$(MXE_CCAS)' \
 	MANDIR='$(HOST_PREFIX)/share/man' \
-	HTMLDIR='$(HOST_PREFIX)/share/doc/openssl'
+	HTMLDIR='$(HOST_PREFIX)/share/doc/openssl' \
+	INSTALL_PREFIX='$(3)'
 endef
--- a/src/pcre.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/pcre.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -32,8 +32,8 @@
         --disable-pcregrep-libbz2 \
         --disable-pcretest-libreadline && $(CONFIGURE_POST_HOOK)
     rm -f '$(HOST_PREFIX)'/share/man/man3/pcre16*.3
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
-      $(INSTALL) -m755 $(HOST_BINDIR)/pcre-config $(BUILD_TOOLS_PREFIX)/bin/pcre-config; \
+      $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/pcre-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/pcre-config'; \
     fi
 endef
--- a/src/pstoedit.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/pstoedit.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -23,5 +23,5 @@
         --prefix='$(HOST_PREFIX)' \
 	&& $(CONFIGURE_POST_HOOK)
 
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/qhull.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/qhull.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -22,5 +22,5 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/qrupdate.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/qrupdate.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -39,5 +39,5 @@
         $($(PKG)_BLAS_OPTION) \
         $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) && $(CONFIGURE_POST_HOOK)
 
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/qscintilla.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/qscintilla.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -28,17 +28,30 @@
     cd '$(1)/Qt4Qt5' && '$(HOST_BINDIR)/qmake' -makefile $($(PKG)_QMAKE_SPEC_OPTION)
 
     if [ $(MXE_SYSTEM) = msvc ]; then \
+        mkdir -p '$(3)' && \
         cd '$(1)/Qt4Qt5' && \
         env -u MAKE -u MAKEFLAGS nmake && \
-        env -u MAKE -u MAKEFLAGS nmake install; \
+        env -u MAKE -u MAKEFLAGS nmake \
+            INSTALL_ROOT=`cd $(3) && pwd -W | sed -e 's,^[a-zA-Z]:,,' -e 's,/,\\\\,g'` install; \
     else \
         $(MAKE) -C '$(1)/Qt4Qt5' -j '$(JOBS)' && \
-        $(MAKE) -C '$(1)/Qt4Qt5' -j 1 install; \
+        $(MAKE) -C '$(1)/Qt4Qt5' -j 1 install DESTDIR='$(3)'; \
+    fi
+
+    if [ $(MXE_SYSTEM) = mingw ]; then \
+        $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
+        $(INSTALL) -m755 '$(3)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll' \
+            '$(3)$(HOST_BINDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
+        rm -f '$(3)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
     fi
 
-    if [ $(MXE_SYSTEM) = mingw -o $(MXE_SYSTEM) = msvc ]; then \
-        $(INSTALL) -m755 '$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll' \
-            '$(HOST_BINDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
-        rm -f '$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
+    # Qmake under MSVC uses Win32 paths. When combining this with
+    # DESTDIR usage (or equivalent), the real Win32 directory hierarchy
+    # is recreated under DESTDIR, not the MSYS hierarchy.
+    if [ $(MXE_SYSTEM) = msvc ]; then \
+        $(INSTALL) -d '$(3)$(CMAKE_HOST_PREFIX)/bin'; \
+        $(INSTALL) -m755 '$(3)$(CMAKE_HOST_PREFIX)/lib/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll' \
+            '$(3)$(CMAKE_HOST_PREFIX)/bin/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
+        rm -f '$(3)$(CMAKE_HOST_PREFIX)/lib/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
     fi
 endef
--- a/src/qt.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/qt.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -152,13 +152,15 @@
     # support the -j option flag and is perturbed by GNU make values for
     # MAKE and MAKEFLAGS; also remove unnecessary DLL installed in lib/
     if test x$(MXE_SYSTEM) = xmsvc; then \
+      mkdir -p '$(3)' && \
       cd '$(1)' && \
       env -u MAKE -u MAKEFLAGS PKG_CONFIG_PATH='$(HOST_PREFIX)/lib/pkgconfig' nmake && \
-      env -u MAKE -u MAKEFLAGS PKG_CONFIG_PATH='$(HOST_PREFIX)/lib/pkgconfig' nmake install && \
-      rm -f $(HOST_PREFIX)/lib/$(LIBRARY_PREFIX)Qt*.dll; \
+      env -u MAKE -u MAKEFLAGS PKG_CONFIG_PATH='$(HOST_PREFIX)/lib/pkgconfig' nmake \
+          INSTALL_ROOT=`cd $(3) && pwd -W | sed -e 's,^[a-zA-Z]:,,' -e 's,/,\\\\,g'` install && \
+      rm -f $(3)$(CMAKE_HOST_PREFIX)/lib/$(LIBRARY_PREFIX)Qt*.dll; \
     else \
       make -C '$(1)' -j '$(JOBS)' && \
-      make -C '$(1)' -j 1 install; \
+      make -C '$(1)' -j 1 install DESTDIR='$(3)'; \
     fi
 
     # native build doesnt seem to succeed with installing pkgconfig files to prefix    
@@ -168,19 +170,19 @@
          -e 's,\(.*\)_location=.*,\1_location=$${prefix}/bin/\1,g' \
          -e 's,\(Libs:.* -l\).*[\\/]\([A-Za-z0-9]*\),\1\2,g' \
          '{}' ';' ; \
-       cp -f '$(1)/lib/pkgconfig/'*.pc '$(HOST_LIBDIR)/pkgconfig/';  \
+       cp -f '$(1)/lib/pkgconfig/'*.pc '$(3)$(HOST_LIBDIR)/pkgconfig/';  \
     fi
 
     $(if $(filter-out msvc, $(MXE_SYSTEM)),
       $(if $(filter-out yes, $(MXE_NATIVE_BUILD)),
-        $(INSTALL) -m755 '$($(PKG)_PREFIX)/bin/moc' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)moc'
-        $(INSTALL) -m755 '$($(PKG)_PREFIX)/bin/rcc' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)rcc'
-        $(INSTALL) -m755 '$($(PKG)_PREFIX)/bin/uic' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)uic'
-        $(INSTALL) -m755 '$($(PKG)_PREFIX)/bin/qmake' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake'
+        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/moc' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)moc'
+        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/rcc' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)rcc'
+        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/uic' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)uic'
+        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/qmake' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake'
       )
 
       # lrelease (from linguist) needed by octave for GUI build
-      $(MAKE) -C '$(1)/tools/linguist/lrelease' -j '$(JOBS)' install
+      $(MAKE) -C '$(1)/tools/linguist/lrelease' -j '$(JOBS)' install DESTDIR='$(3)'
       $(if $(filter-out yes, $(MXE_NATIVE_BUILD)),
-        $(INSTALL) -m755 '$($(PKG)_PREFIX)/bin/lrelease' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)lrelease'))
+        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/lrelease' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)lrelease'))
 endef
--- a/src/readline.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/readline.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -39,5 +39,5 @@
         --prefix='$(HOST_PREFIX)' \
         --enable-multibyte \
         --without-purify
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/suitesparse.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/suitesparse.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -65,7 +65,7 @@
         CHOLMOD_CONFIG='-DNPARTITION'
 
     # install library files
-    $(INSTALL) -d '$(HOST_LIBDIR)'
+    $(INSTALL) -d '$(3)$(HOST_LIBDIR)'
 
     for f in $(addprefix $(1)/, $($(PKG)_STATICLIBS_1)); do \
       if [ $(BUILD_SHARED) = yes ]; then \
@@ -93,23 +93,23 @@
         if [ -n "$deplibs" ]; then \
           echo "  deplibs = $$deplibs"; \
         fi; \
-        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' $$f --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' $$deplibs; \
+        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' $$f --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' $$deplibs; \
       fi; \
     done
 
     # install include files
-    $(INSTALL) -d                                '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/SuiteSparse_config/'*.h '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/AMD/Include/'*.h      '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/BTF/Include/'*.h      '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CAMD/Include/'*.h     '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CCOLAMD/Include/'*.h  '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CHOLMOD/Include/'*.h  '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/COLAMD/Include/'*.h   '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CSparse/Include/'*.h  '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CXSparse/Include/'*.h '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/KLU/Include/'*.h      '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/LDL/Include/'*.h      '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/SPQR/Include/'*       '$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/UMFPACK/Include/'*.h  '$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -d                                '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/SuiteSparse_config/'*.h '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/AMD/Include/'*.h      '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/BTF/Include/'*.h      '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/CAMD/Include/'*.h     '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/CCOLAMD/Include/'*.h  '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/CHOLMOD/Include/'*.h  '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/COLAMD/Include/'*.h   '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/CSparse/Include/'*.h  '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/CXSparse/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/KLU/Include/'*.h      '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/LDL/Include/'*.h      '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/SPQR/Include/'*       '$(3)$(HOST_INCDIR)/suitesparse/'
+    $(INSTALL) -m644 '$(1)/UMFPACK/Include/'*.h  '$(3)$(HOST_INCDIR)/suitesparse/'
 endef
--- a/src/texinfo.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/texinfo.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -24,5 +24,5 @@
     ## All we need for Octave is makeinfo.
     $(MAKE) -C '$(1)/.build/lib' -j '$(JOBS)'
     $(MAKE) -C '$(1)/.build/gnulib/lib' -j '$(JOBS)'
-    $(MAKE) -C '$(1)/.build/makeinfo' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)/.build/makeinfo' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/tiff.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/tiff.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -26,8 +26,8 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --without-x && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
 
-    rm -f $(HOST_LIBDIR)/libtiff.la
-    rm -f $(HOST_LIBDIR)/lib/libtiffxx.la
+    rm -f '$(3)$(HOST_LIBDIR)/libtiff.la'
+    rm -f '$(3)$(HOST_LIBDIR)/lib/libtiffxx.la'
 endef
--- a/src/zlib.mk	Sat Nov 09 23:28:03 2013 -0500
+++ b/src/zlib.mk	Sat Nov 09 23:28:04 2013 -0500
@@ -21,14 +21,14 @@
     cd '$(1)' && CC='$(MXE_CC)' ./configure \
       --prefix='$(HOST_PREFIX)'
 
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 
     if [ "$(BUILD_STATIC)" != yes ]; then \
       true; \
     fi
 
     if [ "$(BUILD_SHARED)" = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(1)/libz.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(1)/libz.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
     fi
 endef
 else
@@ -37,7 +37,7 @@
     cd '$(1)' && ./configure \
       --prefix='$(HOST_PREFIX)'
 
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
 else
 define $(PKG)_BUILD
@@ -45,10 +45,10 @@
         ./configure \
         --prefix='$(HOST_PREFIX)' \
         --static
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 
     if [ "$(BUILD_SHARED)" = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(1)/libz.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(1)/libz.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
     fi
 endef
 endif