diff --git a/Makefile b/Makefile
index 3d1b240374969cf0d444a0bc9a84655fa7c839a3..74099ecf8e3518bc4c03d25689087a74dc80f37d 100644
--- a/Makefile
+++ b/Makefile
@@ -95,6 +95,11 @@ weekly: start_weekly bootstrap configure $(VARIANTNAMES) check stop_weekly
 #
 build: start_build $(VARIANTNAMES:.variant=.variant_build) stop_build
 
+#
+# install: Target to install a buildtree
+#
+install: start_install $(VARIANTNAMES:.variant=.variant_install) stop_install
+
 #
 # rebuild: Target to compile from scratch in a bootstrapped and configured tree
 #
@@ -103,6 +108,9 @@ rebuild: start_rebuild $(VARIANTNAMES:.variant=.variant_rebuild) stop_rebuild
 start_build:
 	@echo && echo ":::::: BUILD START" && echo
 
+start_install:
+	@echo && echo ":::::: INSTALL START" && echo
+
 start_rebuild:
 	@echo && echo ":::::: REBUILD START" && echo
 
@@ -115,6 +123,9 @@ start_weekly:
 stop_build:
 	@echo && echo ":::::: BUILD COMPLETE" && echo
 
+stop_install:
+	@echo && echo ":::::: INSTALL COMPLETE" && echo
+
 stop_rebuild:
 	@echo && echo ":::::: REBUILD COMPLETE" && echo
 
@@ -241,6 +252,30 @@ configure: $(VARIANTNAMES:.variant=.variant_configure)
 	done; \
 	date
 
+#
+# Rule to install build
+#
+%.variant_install:
+	@date; \
+	variant=`basename $@ .variant_install`; \
+	for pkg in $(PACKAGES); do \
+	    if test -d $$pkg; then \
+		( echo \
+		&& echo ":::::: INSTALLING VARIANT $$variant FOR PACKAGE $$pkg" \
+		&& echo \
+		&& date \
+		&& (( cd $$pkg/build/$$variant \
+		&& make install ) \
+			|| echo ":::::: ERROR" ) \
+		&& echo \
+		&& echo ":::::: FINISHED INSTALLING VARIANT $$variant FOR PACKAGE $$pkg" \
+		&& echo ; ) \
+	    else \
+	        echo ":::::: ERROR $$pkg does not exist"; \
+	    fi\
+	done; \
+	date
+
 #
 # Rule to rebuild variant 
 #	- Clean variant