diff -Naur gdal-1.3.2-orig/GNUmakefile gdal-1.3.2/GNUmakefile
--- gdal-1.3.2-orig/GNUmakefile	2006-11-03 13:33:05.000000000 +0000
+++ gdal-1.3.2/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -141,8 +141,8 @@
 
 install-docs:
 	(cd ogr; $(MAKE) install-docs)
-	$(INSTALL_DIR) $(INST_DOCS)/gdal
-	cp html/*.* $(INST_DOCS)/gdal
+	$(INSTALL_DIR) $(DESTDIR)$(INST_DOCS)/gdal
+	cp html/*.* $(DESTDIR)$(INST_DOCS)/gdal
 
 web-update:	docs
 	cp html/*.* $(WEB_DIR)
@@ -150,9 +150,9 @@
 install:	default install-actions
 
 install-actions: install-lib
-	$(INSTALL_DIR) $(INST_BIN)
-	$(INSTALL_DIR) $(INST_DATA)
-	$(INSTALL_DIR) $(INST_INCLUDE)
+	$(INSTALL_DIR) $(DESTDIR)$(INST_BIN)
+	$(INSTALL_DIR) $(DESTDIR)$(INST_DATA)
+	$(INSTALL_DIR) $(DESTDIR)$(INST_INCLUDE)
 	(cd port; $(MAKE) install)
 	(cd gcore; $(MAKE) install)
 	(cd frmts; $(MAKE) install)
@@ -166,14 +166,14 @@
 ifneq ($(BINDINGS),)
 	(cd swig; $(MAKE) install)
 endif
-	for f in data/*.* ; do $(INSTALL_DATA) $$f $(INST_DATA) ; done
-	$(LIBTOOL_FINISH) $(INST_LIB)
+	for f in data/*.* ; do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_DATA) ; done
+	$(LIBTOOL_FINISH) $(DESTDIR)$(INST_LIB)
 
 ifeq ($(HAVE_LIBTOOL),yes)
 
 install-lib:
-	$(INSTALL_DIR) $(INST_LIB)
-	for f in $(LIBGDAL-yes) ; do $(INSTALL_LIB) $$f $(INST_LIB) ; done
+	$(INSTALL_DIR) $(DESTDIR)$(INST_LIB)
+	for f in $(LIBGDAL-yes) ; do $(INSTALL_LIB) $$f $(DESTDIR)$(INST_LIB) ; done
 
 else
 
@@ -183,21 +183,21 @@
 GDAL_SLIB_B	=	$(notdir $(GDAL_SLIB))
 
 install-lib:
-	$(INSTALL_DIR) $(INST_LIB)
-	rm -f $(INST_LIB)/$(GDAL_SLIB_B)
-	rm -f $(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER_MAJOR)
-	rm -f $(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
-	$(INSTALL_LIB) $(GDAL_SLIB) $(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
-	(cd $(INST_LIB) ; \
+	$(INSTALL_DIR) $(DESTDIR)$(INST_LIB)
+	rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B)
+	rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER_MAJOR)
+	rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
+	$(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
+	(cd $(DESTDIR)$(INST_LIB) ; \
 	 ln -s $(GDAL_SLIB_B).$(GDAL_VER_MAJOR) $(GDAL_SLIB_B))
-	(cd $(INST_LIB) ; \
+	(cd $(DESTDIR)$(INST_LIB) ; \
 	 ln -s $(GDAL_SLIB_B).$(GDAL_VER) $(GDAL_SLIB_B).$(GDAL_VER_MAJOR))
 
 else
 
 install-lib:
-	$(INSTALL_DIR) $(INST_LIB)
-	$(INSTALL_LIB) $(GDAL_LIB) $(INST_LIB)
+	$(INSTALL_DIR) $(DESTDIR)$(INST_LIB)
+	$(INSTALL_LIB) $(GDAL_LIB) $(DESTDIR)$(INST_LIB)
 
 endif # HAVE_LD_SHARED=no 
 
diff -Naur gdal-1.3.2-orig/alg/GNUmakefile gdal-1.3.2/alg/GNUmakefile
--- gdal-1.3.2-orig/alg/GNUmakefile	2006-11-03 13:33:04.000000000 +0000
+++ gdal-1.3.2/alg/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -22,7 +22,7 @@
 	(cd ..; $(MAKE) docs)
 
 install:
-	for f in *.h ; do $(INSTALL_DATA) $$f $(INST_INCLUDE) ; done
+	for f in *.h ; do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_INCLUDE) ; done
 
 lib:	$(OBJ)
 	(cd .. ; $(MAKE) force-lib)
diff -Naur gdal-1.3.2-orig/apps/GNUmakefile gdal-1.3.2/apps/GNUmakefile
--- gdal-1.3.2-orig/apps/GNUmakefile	2006-11-03 13:33:22.000000000 +0000
+++ gdal-1.3.2/apps/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -95,6 +95,6 @@
 
 
 install: default
-	for f in $(BIN_LIST) ; do $(INSTALL) $$f $(INST_BIN) ; done
-	$(INSTALL) gdal-config-inst $(INST_BIN)/gdal-config
+	for f in $(BIN_LIST) ; do $(INSTALL) $$f $(DESTDIR)$(INST_BIN) ; done
+	$(INSTALL) gdal-config-inst $(DESTDIR)$(INST_BIN)/gdal-config
 
diff -Naur gdal-1.3.2-orig/frmts/mem/GNUmakefile gdal-1.3.2/frmts/mem/GNUmakefile
--- gdal-1.3.2-orig/frmts/mem/GNUmakefile	2006-11-03 13:33:18.000000000 +0000
+++ gdal-1.3.2/frmts/mem/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -14,4 +14,4 @@
 install-obj:	$(O_OBJ)
 
 install:
-	$(INSTALL_DATA) memdataset.h $(INST_INCLUDE)
+	$(INSTALL_DATA) memdataset.h $(DESTDIR)$(INST_INCLUDE)
diff -Naur gdal-1.3.2-orig/frmts/raw/GNUmakefile gdal-1.3.2/frmts/raw/GNUmakefile
--- gdal-1.3.2-orig/frmts/raw/GNUmakefile	2006-11-03 13:33:09.000000000 +0000
+++ gdal-1.3.2/frmts/raw/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -20,4 +20,4 @@
 $(OBJ) $(O_OBJ):	rawdataset.h
 
 install:
-	$(INSTALL_DATA) rawdataset.h $(INST_INCLUDE)
+	$(INSTALL_DATA) rawdataset.h $(DESTDIR)$(INST_INCLUDE)
diff -Naur gdal-1.3.2-orig/frmts/vrt/GNUmakefile gdal-1.3.2/frmts/vrt/GNUmakefile
--- gdal-1.3.2-orig/frmts/vrt/GNUmakefile	2006-11-03 13:33:18.000000000 +0000
+++ gdal-1.3.2/frmts/vrt/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -18,4 +18,4 @@
 $(OBJ) $(O_OBJ):	vrtdataset.h
 
 install:
-	$(INSTALL_DATA) vrtdataset.h $(INST_INCLUDE)
+	$(INSTALL_DATA) vrtdataset.h $(DESTDIR)$(INST_INCLUDE)
diff -Naur gdal-1.3.2-orig/gcore/GNUmakefile gdal-1.3.2/gcore/GNUmakefile
--- gdal-1.3.2-orig/gcore/GNUmakefile	2006-11-03 13:33:22.000000000 +0000
+++ gdal-1.3.2/gcore/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -34,4 +34,4 @@
 		$*.cpp -o $*.o
 
 install:
-	for f in *.h ; do $(INSTALL_DATA) $$f $(INST_INCLUDE) ; done
+	for f in *.h ; do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_INCLUDE) ; done
diff -Naur gdal-1.3.2-orig/man/GNUmakefile gdal-1.3.2/man/GNUmakefile
--- gdal-1.3.2-orig/man/GNUmakefile	2006-11-03 13:33:22.000000000 +0000
+++ gdal-1.3.2/man/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -4,5 +4,5 @@
 include ../GDALmake.opt
 
 install:
-	$(INSTALL_DIR) $(INST_MAN)/man1
-	for f in $(MAN1_FILES) ; do $(INSTALL_DATA) $$f $(INST_MAN)/man1 ; done
+	$(INSTALL_DIR) $(DESTDIR)$(INST_MAN)/man1
+	for f in $(MAN1_FILES) ; do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_MAN)/man1 ; done
diff -Naur gdal-1.3.2-orig/ogr/GNUmakefile gdal-1.3.2/ogr/GNUmakefile
--- gdal-1.3.2-orig/ogr/GNUmakefile	2006-11-03 13:33:31.000000000 +0000
+++ gdal-1.3.2/ogr/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -81,9 +81,9 @@
 	cp ogr_feature_style.html html
 
 install-docs:
-	$(INSTALL_DIR) $(INST_DOCS)/ogr
-	cp html/* $(INST_DOCS)/ogr
-	cp ../doc/ogr/*.gif $(INST_DOCS)/ogr
+	$(INSTALL_DIR) $(DESTDIR)$(INST_DOCS)/ogr
+	cp html/* $(DESTDIR)$(INST_DOCS)/ogr
+	cp ../doc/ogr/*.gif $(DESTDIR)$(INST_DOCS)/ogr
 
 gdalso:	$(GDAL_SLIB)
 
@@ -123,14 +123,14 @@
 
 ifeq ($(OGR_ENABLED),yes)
 install-full:	apps
-	$(INSTALL) ogr2ogr $(INST_BIN)
-	$(INSTALL) ogrinfo $(INST_BIN)
-	$(INSTALL) ogrtindex $(INST_BIN)
+	$(INSTALL) ogr2ogr $(DESTDIR)$(INST_BIN)
+	$(INSTALL) ogrinfo $(DESTDIR)$(INST_BIN)
+	$(INSTALL) ogrtindex $(DESTDIR)$(INST_BIN)
 else
 install-full:
 endif
 
 install:	install-full
 	for f in $(INST_H_FILES) ; \
-	    do $(INSTALL_DATA) $$f $(INST_INCLUDE) ; \
+	    do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_INCLUDE) ; \
 	done
diff -Naur gdal-1.3.2-orig/port/GNUmakefile gdal-1.3.2/port/GNUmakefile
--- gdal-1.3.2-orig/port/GNUmakefile	2006-11-03 13:33:23.000000000 +0000
+++ gdal-1.3.2/port/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -25,7 +25,7 @@
 	$(RM) *.o $(LIB)
 
 install:
-	for f in *.h ; do $(INSTALL_DATA) $$f $(INST_INCLUDE) ; done
+	for f in *.h ; do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_INCLUDE) ; done
 
 xmlreformat:	xmlreformat.o 
 	$(CXX) $(CXXFLAGS) xmlreformat.o $(CONFIG_LIBS) -o xmlreformat
diff -Naur gdal-1.3.2-orig/pymod/GNUmakefile gdal-1.3.2/pymod/GNUmakefile
--- gdal-1.3.2-orig/pymod/GNUmakefile	2006-11-03 13:33:22.000000000 +0000
+++ gdal-1.3.2/pymod/GNUmakefile	2006-11-03 13:33:37.000000000 +0000
@@ -44,9 +44,9 @@
 
 # special care is taken so that python scripts are installed as executables
 install:	$(GDALMODULE_SO)
-	$(INSTALL_DIR) $(INST_PYMOD)
-	$(INSTALL_LIB) $(GDALMODULE_SO) $(INST_PYMOD)
-	for f in $(PY_COMMANDS) ; do $(INSTALL) $$f $(INST_BIN) ; done
-	for f in $(PY_MODULES) ; do $(INSTALL_DATA) $$f $(INST_PYMOD) ; done
+	$(INSTALL_DIR) $(DESTDIR)$(INST_PYMOD)
+	$(INSTALL_LIB) $(GDALMODULE_SO) $(DESTDIR)$(INST_PYMOD)
+	for f in $(PY_COMMANDS) ; do $(INSTALL) $$f $(DESTDIR)$(INST_BIN) ; done
+	for f in $(PY_MODULES) ; do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_PYMOD) ; done
 	# ugh! spurius relinking leaves a file owned by root into .libs/.
 	rm -f .libs/*.soT