Index: uspace/app/binutils/Makefile
===================================================================
--- uspace/app/binutils/Makefile	(revision 10fdd0e8de0445b6174bf16950525dd70c654a08)
+++ uspace/app/binutils/Makefile	(revision f5b25224f3b95c0a700f5f9f6c8bb2ecad2c28f0)
@@ -30,4 +30,8 @@
 space = $(nullstring) # space
 
+# When redefined to 'y' on the command line, certain areas of this Makefile
+# behave slightly differently to simplify the maintenance of binutils port.
+MAINTAIN_BINUTILS=n
+
 # Information for obtaining specific binutils redistributable package.
 # Might be subject to change in the future.
@@ -42,4 +46,7 @@
 # File to detect the presence of binutils source tree.
 REDIST_DETECT = $(REDIST_DIR)/configure
+
+# Directory for resulting binutils binaries.
+BIN_DIR = ./bin
 
 # $USPACE_PREFIX have to be based on the absolute path,
@@ -146,6 +153,6 @@
 		$(CONFOBJ_OBJECT) $(BINUTILS_CONFIGURED) $(REDIST_DETECT)
 	make -C $(REDIST_DIR) $(MAKE_TARGETS)
-	cp -f $(REDIST_DIR)/gas/as-new ./as
-	cp -f $(REDIST_DIR)/ld/ld-new ./ld
+	cp -f $(REDIST_DIR)/gas/as-new $(BIN_DIR)/as
+	cp -f $(REDIST_DIR)/ld/ld-new $(BIN_DIR)/ld
 else
 all:
@@ -206,8 +213,10 @@
 # Clean binutils.
 # Unpatch binutils.
+# Delete everything in redist folder.
 # Delete generated scripts.
 clean: $(BINUTILS_PATCH) clean_
-	rm -f as ld
+	rm -f $(BIN_DIR)/as $(BIN_DIR)/ld
 	rm -f $(CONFOBJ_SOURCE) $(CONFOBJ_OBJECT)
+ifeq ($(MAINTAIN_BINUTILS),y)
 	if [ -e $(REDIST_DIR)/Makefile ]; then \
 		make -C $(REDIST_DIR) distclean; \
@@ -217,4 +226,8 @@
 		rm -f $(BINUTILS_PATCHED); \
 	fi
+else
+	rm -r -f redist/*
+	rm -f $(BINUTILS_PATCHED)
+endif
 	rm -f $(TOOLCHAIN)
 	rm -f $(COMMON_MAKEFILE_PATCHED)
