diff -Paur --no-dereference -- bzip2.upstream/Makefile bzip2/Makefile
--- bzip2.upstream/Makefile
+++ bzip2/Makefile
@@ -15,16 +15,19 @@
 SHELL=/bin/sh
 
 # To assist in cross-compiling
-CC=gcc
-AR=ar
-RANLIB=ranlib
-LDFLAGS=
-
-BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
+CC?=gcc
+AR?=ar
+RANLIB?=ranlib
+LDFLAGS?=
+
+BIGFILES?=-D_FILE_OFFSET_BITS=64
+CFLAGS?=-O2 -g
+CFLAGS+=-Wall $(BIGFILES)
 
 # Where you want it installed when you do 'make install'
-PREFIX=/usr/local
+PREFIX?=/usr/local
+EXEC_PREFIX?=$(PREFIX)
+DESTDIR?=
 
 
 OBJS= blocksort.o  \
@@ -35,10 +38,12 @@
       decompress.o \
       bzlib.o
 
-all: libbz2.a bzip2 bzip2recover test
+all: bzip2 bzip2recover
+
+libbz2: libbz2.a
 
-bzip2: libbz2.a bzip2.o
-	$(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2
+bzip2: bzip2.o
+	$(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -lbz2
 
 bzip2recover: bzip2recover.o
 	$(CC) $(CFLAGS) $(LDFLAGS) -o bzip2recover bzip2recover.o
@@ -69,44 +74,46 @@
 	cmp sample3.tst sample3.ref
 	@cat words3
 
+install-libbz2: libbz2
+	if ( test ! -d $(DESTDIR)$(EXEC_PREFIX)/lib ) ; then mkdir -p $(DESTDIR)$(EXEC_PREFIX)/lib ; fi
+	if ( test ! -d $(DESTDIR)$(PREFIX)/include ) ; then mkdir -p $(DESTDIR)$(PREFIX)/include ; fi
+	cp -f bzlib.h $(DESTDIR)$(PREFIX)/include
+	chmod a+r $(DESTDIR)$(PREFIX)/include/bzlib.h
+	cp -f libbz2.a $(DESTDIR)$(EXEC_PREFIX)/lib
+	chmod a+r $(DESTDIR)$(EXEC_PREFIX)/lib/libbz2.a
+
 install: bzip2 bzip2recover
-	if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
-	if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
-	if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi
-	if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi
-	if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
-	cp -f bzip2 $(PREFIX)/bin/bzip2
-	cp -f bzip2 $(PREFIX)/bin/bunzip2
-	cp -f bzip2 $(PREFIX)/bin/bzcat
-	cp -f bzip2recover $(PREFIX)/bin/bzip2recover
-	chmod a+x $(PREFIX)/bin/bzip2
-	chmod a+x $(PREFIX)/bin/bunzip2
-	chmod a+x $(PREFIX)/bin/bzcat
-	chmod a+x $(PREFIX)/bin/bzip2recover
-	cp -f bzip2.1 $(PREFIX)/man/man1
-	chmod a+r $(PREFIX)/man/man1/bzip2.1
-	cp -f bzlib.h $(PREFIX)/include
-	chmod a+r $(PREFIX)/include/bzlib.h
-	cp -f libbz2.a $(PREFIX)/lib
-	chmod a+r $(PREFIX)/lib/libbz2.a
-	cp -f bzgrep $(PREFIX)/bin/bzgrep
-	ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
-	ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
-	chmod a+x $(PREFIX)/bin/bzgrep
-	cp -f bzmore $(PREFIX)/bin/bzmore
-	ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
-	chmod a+x $(PREFIX)/bin/bzmore
-	cp -f bzdiff $(PREFIX)/bin/bzdiff
-	ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
-	chmod a+x $(PREFIX)/bin/bzdiff
-	cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
-	chmod a+r $(PREFIX)/man/man1/bzgrep.1
-	chmod a+r $(PREFIX)/man/man1/bzmore.1
-	chmod a+r $(PREFIX)/man/man1/bzdiff.1
-	echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1
-	echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1
-	echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1
-	echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
+	if ( test ! -d $(DESTDIR)$(EXEC_PREFIX)/bin ) ; then mkdir -p $(DESTDIR)$(EXEC_PREFIX)/bin ; fi
+	if ( test ! -d $(DESTDIR)$(PREFIX)/share/man ) ; then mkdir -p $(DESTDIR)$(PREFIX)/share/man ; fi
+	if ( test ! -d $(DESTDIR)$(PREFIX)/share/man/man1 ) ; then mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1 ; fi
+	cp -f bzip2 $(DESTDIR)$(EXEC_PREFIX)/bin/bzip2
+	cp -f bzip2 $(DESTDIR)$(EXEC_PREFIX)/bin/bunzip2
+	cp -f bzip2 $(DESTDIR)$(EXEC_PREFIX)/bin/bzcat
+	cp -f bzip2recover $(DESTDIR)$(EXEC_PREFIX)/bin/bzip2recover
+	chmod a+x $(DESTDIR)$(EXEC_PREFIX)/bin/bzip2
+	chmod a+x $(DESTDIR)$(EXEC_PREFIX)/bin/bunzip2
+	chmod a+x $(DESTDIR)$(EXEC_PREFIX)/bin/bzcat
+	chmod a+x $(DESTDIR)$(EXEC_PREFIX)/bin/bzip2recover
+	cp -f bzip2.1 $(DESTDIR)$(PREFIX)/share/man/man1
+	chmod a+r $(DESTDIR)$(PREFIX)/share/man/man1/bzip2.1
+	cp -f bzgrep $(DESTDIR)$(EXEC_PREFIX)/bin/bzgrep
+	ln -s -f bzgrep $(DESTDIR)$(EXEC_PREFIX)/bin/bzegrep
+	ln -s -f bzgrep $(DESTDIR)$(EXEC_PREFIX)/bin/bzfgrep
+	chmod a+x $(DESTDIR)$(EXEC_PREFIX)/bin/bzgrep
+	cp -f bzmore $(DESTDIR)$(EXEC_PREFIX)/bin/bzmore
+	ln -s -f bzmore $(DESTDIR)$(EXEC_PREFIX)/bin/bzless
+	chmod a+x $(DESTDIR)$(EXEC_PREFIX)/bin/bzmore
+	cp -f bzdiff $(DESTDIR)$(EXEC_PREFIX)/bin/bzdiff
+	ln -s -f bzdiff $(DESTDIR)$(EXEC_PREFIX)/bin/bzcmp
+	chmod a+x $(DESTDIR)$(EXEC_PREFIX)/bin/bzdiff
+	cp -f bzgrep.1 bzmore.1 bzdiff.1 $(DESTDIR)$(PREFIX)/share/man/man1
+	chmod a+r $(DESTDIR)$(PREFIX)/share/man/man1/bzgrep.1
+	chmod a+r $(DESTDIR)$(PREFIX)/share/man/man1/bzmore.1
+	chmod a+r $(DESTDIR)$(PREFIX)/share/man/man1/bzdiff.1
+	echo ".so man1/bzgrep.1" > $(DESTDIR)$(PREFIX)/share/man/man1/bzegrep.1
+	echo ".so man1/bzgrep.1" > $(DESTDIR)$(PREFIX)/share/man/man1/bzfgrep.1
+	echo ".so man1/bzmore.1" > $(DESTDIR)$(PREFIX)/share/man/man1/bzless.1
+	echo ".so man1/bzdiff.1" > $(DESTDIR)$(PREFIX)/share/man/man1/bzcmp.1
 
 clean: 
 	rm -f *.o libbz2.a bzip2 bzip2recover \
