+# llvm-gcc4 doesn't need runtime libs. llvm-gcc4 is the only supported one.
+# FIXME: Remove runtime entirely once we have an understanding of where
+# libprofile etc should go.
+#ifeq ($(LLVMGCC_MAJVERS),4)
+ DIRS := $(filter-out runtime, $(DIRS))
+#endif
+
+ifeq ($(MAKECMDGOALS),libs-only)
+ DIRS := $(filter-out tools runtime docs, $(DIRS))
+ OPTIONAL_DIRS :=
+endif
+
+ifeq ($(MAKECMDGOALS),tools-only)
+ DIRS := $(filter-out runtime docs, $(DIRS))
+ OPTIONAL_DIRS :=
+endif
+
+# Don't install utils, examples, or projects they are only used to
+# build LLVM.
+ifeq ($(MAKECMDGOALS),install)
+ DIRS := $(filter-out utils, $(DIRS))
+ OPTIONAL_DIRS :=
+endif