diff --git a/android/api_levels.go b/android/api_levels.go
index c77ced1..70b251b 100644
--- a/android/api_levels.go
+++ b/android/api_levels.go
@@ -16,6 +16,7 @@
 
 import (
 	"encoding/json"
+	"path/filepath"
 
 	"github.com/google/blueprint"
 )
@@ -39,8 +40,9 @@
 	}
 
 	ctx.Build(pctx, blueprint.BuildParams{
-		Rule:    WriteFile,
-		Outputs: []string{file},
+		Rule:        WriteFile,
+		Description: "generate " + filepath.Base(file),
+		Outputs:     []string{file},
 		Args: map[string]string{
 			"content": string(jsonStr[:]),
 		},
diff --git a/android/arch.go b/android/arch.go
index 39477ad..51fc444 100644
--- a/android/arch.go
+++ b/android/arch.go
@@ -224,6 +224,21 @@
 	HostCross
 )
 
+func (class OsClass) String() string {
+	switch class {
+	case Generic:
+		return "generic"
+	case Device:
+		return "device"
+	case Host:
+		return "host"
+	case HostCross:
+		return "host cross"
+	default:
+		panic(fmt.Errorf("unknown class %d", class))
+	}
+}
+
 func (os OsType) String() string {
 	return os.Name
 }
diff --git a/android/module.go b/android/module.go
index 90d61e2..8f8f34b 100644
--- a/android/module.go
+++ b/android/module.go
@@ -36,6 +36,7 @@
 	Rule            blueprint.Rule
 	Deps            blueprint.Deps
 	Depfile         WritablePath
+	Description     string
 	Output          WritablePath
 	Outputs         WritablePaths
 	ImplicitOutput  WritablePath
@@ -480,6 +481,23 @@
 		missingDeps:            ctx.GetMissingDependencies(),
 	}
 
+	desc := "//" + ctx.ModuleDir() + ":" + ctx.ModuleName() + " "
+	var suffix []string
+	if androidCtx.Os().Class != Device && androidCtx.Os().Class != Generic {
+		suffix = append(suffix, androidCtx.Os().String())
+	}
+	if !androidCtx.PrimaryArch() {
+		suffix = append(suffix, androidCtx.Arch().ArchType.String())
+	}
+
+	ctx.Variable(pctx, "moduleDesc", desc)
+
+	s := ""
+	if len(suffix) > 0 {
+		s = " [" + strings.Join(suffix, " ") + "]"
+	}
+	ctx.Variable(pctx, "moduleDescSuffix", s)
+
 	if a.Enabled() {
 		a.module.GenerateAndroidBuildActions(androidCtx)
 		if ctx.Failed() {
@@ -516,11 +534,12 @@
 	module          Module
 }
 
-func (a *androidModuleContext) ninjaError(outputs []string, err error) {
+func (a *androidModuleContext) ninjaError(desc string, outputs []string, err error) {
 	a.ModuleContext.Build(pctx, blueprint.BuildParams{
-		Rule:     ErrorRule,
-		Outputs:  outputs,
-		Optional: true,
+		Rule:        ErrorRule,
+		Description: desc,
+		Outputs:     outputs,
+		Optional:    true,
 		Args: map[string]string{
 			"error": err.Error(),
 		},
@@ -530,8 +549,9 @@
 
 func (a *androidModuleContext) Build(pctx blueprint.PackageContext, params blueprint.BuildParams) {
 	if a.missingDeps != nil {
-		a.ninjaError(params.Outputs, fmt.Errorf("module %s missing dependencies: %s\n",
-			a.ModuleName(), strings.Join(a.missingDeps, ", ")))
+		a.ninjaError(params.Description, params.Outputs,
+			fmt.Errorf("module %s missing dependencies: %s\n",
+				a.ModuleName(), strings.Join(a.missingDeps, ", ")))
 		return
 	}
 
@@ -552,6 +572,10 @@
 		Optional:        !params.Default,
 	}
 
+	if params.Description != "" {
+		bparams.Description = "${moduleDesc}" + params.Description + "${moduleDescSuffix}"
+	}
+
 	if params.Depfile != nil {
 		bparams.Depfile = params.Depfile.String()
 	}
@@ -569,8 +593,9 @@
 	}
 
 	if a.missingDeps != nil {
-		a.ninjaError(bparams.Outputs, fmt.Errorf("module %s missing dependencies: %s\n",
-			a.ModuleName(), strings.Join(a.missingDeps, ", ")))
+		a.ninjaError(bparams.Description, bparams.Outputs,
+			fmt.Errorf("module %s missing dependencies: %s\n",
+				a.ModuleName(), strings.Join(a.missingDeps, ", ")))
 		return
 	}
 
@@ -624,6 +649,9 @@
 }
 
 func (a *androidBaseContextImpl) PrimaryArch() bool {
+	if len(a.config.Targets[a.target.Os.Class]) <= 1 {
+		return true
+	}
 	return a.target.Arch.ArchType == a.config.Targets[a.target.Os.Class][0].Arch.ArchType
 }
 
@@ -686,12 +714,13 @@
 		}
 
 		a.ModuleBuild(pctx, ModuleBuildParams{
-			Rule:      Cp,
-			Output:    fullInstallPath,
-			Input:     srcPath,
-			Implicits: implicitDeps,
-			OrderOnly: orderOnlyDeps,
-			Default:   !a.AConfig().EmbeddedInMake(),
+			Rule:        Cp,
+			Description: "install " + fullInstallPath.Base(),
+			Output:      fullInstallPath,
+			Input:       srcPath,
+			Implicits:   implicitDeps,
+			OrderOnly:   orderOnlyDeps,
+			Default:     !a.AConfig().EmbeddedInMake(),
 		})
 
 		a.installFiles = append(a.installFiles, fullInstallPath)
@@ -711,10 +740,11 @@
 	if !a.skipInstall(fullInstallPath) {
 
 		a.ModuleBuild(pctx, ModuleBuildParams{
-			Rule:      Symlink,
-			Output:    fullInstallPath,
-			OrderOnly: Paths{srcPath},
-			Default:   !a.AConfig().EmbeddedInMake(),
+			Rule:        Symlink,
+			Description: "install symlink " + fullInstallPath.Base(),
+			Output:      fullInstallPath,
+			OrderOnly:   Paths{srcPath},
+			Default:     !a.AConfig().EmbeddedInMake(),
 			Args: map[string]string{
 				"fromPath": srcPath.String(),
 			},
diff --git a/cc/builder.go b/cc/builder.go
index 8a0c7f4..a4fda5b 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -45,7 +45,6 @@
 			Deps:        blueprint.DepsGCC,
 			Command:     "$relPwd ${config.CcWrapper}$ccCmd -c $cFlags -MD -MF ${out}.d -o $out $in",
 			CommandDeps: []string{"$ccCmd"},
-			Description: "cc $out",
 		},
 		"ccCmd", "cFlags")
 
@@ -54,7 +53,6 @@
 			Command: "$ldCmd ${crtBegin} @${out}.rsp " +
 				"${libFlags} ${crtEnd} -o ${out} ${ldFlags}",
 			CommandDeps:    []string{"$ldCmd"},
-			Description:    "ld $out",
 			Rspfile:        "${out}.rsp",
 			RspfileContent: "${in}",
 		},
@@ -64,7 +62,6 @@
 		blueprint.RuleParams{
 			Command:     "$ldCmd -nostdlib -Wl,-r ${in} -o ${out} ${ldFlags}",
 			CommandDeps: []string{"$ldCmd"},
-			Description: "partialLd $out",
 		},
 		"ldCmd", "ldFlags")
 
@@ -72,7 +69,6 @@
 		blueprint.RuleParams{
 			Command:        "rm -f ${out} && $arCmd $arFlags $out @${out}.rsp",
 			CommandDeps:    []string{"$arCmd"},
-			Description:    "ar $out",
 			Rspfile:        "${out}.rsp",
 			RspfileContent: "${in}",
 		},
@@ -82,7 +78,6 @@
 		blueprint.RuleParams{
 			Command:     "rm -f ${out} && ${config.MacArPath} $arFlags $out $in",
 			CommandDeps: []string{"${config.MacArPath}"},
-			Description: "ar $out",
 		},
 		"arFlags")
 
@@ -90,7 +85,6 @@
 		blueprint.RuleParams{
 			Command:     "cp -f ${inAr} ${out}.tmp && ${config.MacArPath} $arFlags ${out}.tmp $in && mv ${out}.tmp ${out}",
 			CommandDeps: []string{"${config.MacArPath}", "${inAr}"},
-			Description: "ar $out",
 		},
 		"arFlags", "inAr")
 
@@ -98,14 +92,12 @@
 		blueprint.RuleParams{
 			Command:     "${config.MacStripPath} -u -r -o $out $in",
 			CommandDeps: []string{"${config.MacStripPath}"},
-			Description: "strip $out",
 		})
 
 	prefixSymbols = pctx.AndroidStaticRule("prefixSymbols",
 		blueprint.RuleParams{
 			Command:     "$objcopyCmd --prefix-symbols=${prefix} ${in} ${out}",
 			CommandDeps: []string{"$objcopyCmd"},
-			Description: "prefixSymbols $out",
 		},
 		"objcopyCmd", "prefix")
 
@@ -117,14 +109,12 @@
 			Deps:        blueprint.DepsGCC,
 			Command:     "CROSS_COMPILE=$crossCompile $stripPath ${args} -i ${in} -o ${out} -d ${out}.d",
 			CommandDeps: []string{"$stripPath"},
-			Description: "strip $out",
 		},
 		"args", "crossCompile")
 
 	emptyFile = pctx.AndroidStaticRule("emptyFile",
 		blueprint.RuleParams{
-			Command:     "rm -f $out && touch $out",
-			Description: "empty file $out",
+			Command: "rm -f $out && touch $out",
 		})
 
 	_ = pctx.SourcePathVariable("copyGccLibPath", "build/soong/scripts/copygcclib.sh")
@@ -135,7 +125,6 @@
 			Deps:        blueprint.DepsGCC,
 			Command:     "$copyGccLibPath $out $ccCmd $cFlags -print-file-name=${libName}",
 			CommandDeps: []string{"$copyGccLibPath", "$ccCmd"},
-			Description: "copy gcc $out",
 		},
 		"ccCmd", "cFlags", "libName")
 
@@ -155,7 +144,6 @@
 		blueprint.RuleParams{
 			Command:     "rm -f $out && ${config.ClangBin}/clang-tidy $tidyFlags $in -- $cFlags && touch $out",
 			CommandDeps: []string{"${config.ClangBin}/clang-tidy"},
-			Description: "tidy $out",
 		},
 		"cFlags", "tidyFlags")
 
@@ -165,7 +153,6 @@
 		blueprint.RuleParams{
 			Command:     "$yasmCmd $asFlags -o $out $in",
 			CommandDeps: []string{"$yasmCmd"},
-			Description: "yasm $out",
 		},
 		"asFlags")
 
@@ -175,7 +162,6 @@
 		blueprint.RuleParams{
 			Command:     "rm -f $out && $sAbiDumper -o ${out} $in $exportDirs -- $cFlags -Wno-packed -Qunused-arguments -isystem ${config.RSIncludePath}",
 			CommandDeps: []string{"$sAbiDumper"},
-			Description: "header-abi-dumper $in -o $out $exportDirs",
 		},
 		"cFlags", "exportDirs")
 
@@ -185,7 +171,6 @@
 		blueprint.RuleParams{
 			Command:        "$sAbiLinker -o ${out} $symbolFile -arch $arch -api $api $exportedHeaderFlags @${out}.rsp ",
 			CommandDeps:    []string{"$sAbiLinker"},
-			Description:    "header-abi-linker $in -o $out",
 			Rspfile:        "${out}.rsp",
 			RspfileContent: "${in}",
 		},
@@ -197,7 +182,6 @@
 		blueprint.RuleParams{
 			Command:     "$sAbiDiffer -advice-only -o ${out} -new $in -old $referenceDump",
 			CommandDeps: []string{"$sAbiDiffer"},
-			Description: "header-abi-diff -o ${out} -new $in -old $referenceDump",
 		},
 		"referenceDump")
 )
@@ -323,10 +307,11 @@
 
 		if srcFile.Ext() == ".asm" {
 			ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-				Rule:      yasm,
-				Output:    objFile,
-				Input:     srcFile,
-				OrderOnly: deps,
+				Rule:        yasm,
+				Description: "yasm " + srcFile.Rel(),
+				Output:      objFile,
+				Input:       srcFile,
+				OrderOnly:   deps,
 				Args: map[string]string{
 					"asFlags": flags.yasmFlags,
 				},
@@ -367,7 +352,11 @@
 			default:
 				panic("unrecoginzied ccCmd")
 			}
+		}
 
+		ccDesc := ccCmd
+
+		if flags.clang {
 			ccCmd = "${config.ClangBin}/" + ccCmd
 		} else {
 			ccCmd = gccCmd(flags.toolchain, ccCmd)
@@ -382,6 +371,7 @@
 
 		ctx.ModuleBuild(pctx, android.ModuleBuildParams{
 			Rule:            cc,
+			Description:     ccDesc + " " + srcFile.Rel(),
 			Output:          objFile,
 			ImplicitOutputs: implicitOutputs,
 			Input:           srcFile,
@@ -397,9 +387,10 @@
 			tidyFiles = append(tidyFiles, tidyFile)
 
 			ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-				Rule:   clangTidy,
-				Output: tidyFile,
-				Input:  srcFile,
+				Rule:        clangTidy,
+				Description: "clang-tidy " + srcFile.Rel(),
+				Output:      tidyFile,
+				Input:       srcFile,
 				// We must depend on objFile, since clang-tidy doesn't
 				// support exporting dependencies.
 				Implicit: objFile,
@@ -415,10 +406,11 @@
 			sAbiDumpFiles = append(sAbiDumpFiles, sAbiDumpFile)
 
 			ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-				Rule:     sAbiDump,
-				Output:   sAbiDumpFile,
-				Input:    srcFile,
-				Implicit: objFile,
+				Rule:        sAbiDump,
+				Description: "header-abi-dumper " + srcFile.Rel(),
+				Output:      sAbiDumpFile,
+				Input:       srcFile,
+				Implicit:    objFile,
 				Args: map[string]string{
 					"cFlags":     moduleCflags,
 					"exportDirs": flags.sAbiFlags,
@@ -452,10 +444,11 @@
 	}
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      ar,
-		Output:    outputFile,
-		Inputs:    objFiles,
-		Implicits: deps,
+		Rule:        ar,
+		Description: "static link " + outputFile.Base(),
+		Output:      outputFile,
+		Inputs:      objFiles,
+		Implicits:   deps,
 		Args: map[string]string{
 			"arFlags": arFlags,
 			"arCmd":   arCmd,
@@ -477,24 +470,27 @@
 		dummyAr := android.PathForModuleOut(ctx, "dummy"+staticLibraryExtension)
 
 		ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-			Rule:      emptyFile,
-			Output:    dummy,
-			Implicits: deps,
+			Rule:        emptyFile,
+			Description: "empty object file",
+			Output:      dummy,
+			Implicits:   deps,
 		})
 
 		ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-			Rule:   darwinAr,
-			Output: dummyAr,
-			Input:  dummy,
+			Rule:        darwinAr,
+			Description: "empty static archive",
+			Output:      dummyAr,
+			Input:       dummy,
 			Args: map[string]string{
 				"arFlags": arFlags,
 			},
 		})
 
 		ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-			Rule:   darwinAppendAr,
-			Output: outputFile,
-			Input:  dummy,
+			Rule:        darwinAppendAr,
+			Description: "static link " + outputFile.Base(),
+			Output:      outputFile,
+			Input:       dummy,
 			Args: map[string]string{
 				"arFlags": "d",
 				"inAr":    dummyAr.String(),
@@ -519,10 +515,11 @@
 		}
 
 		build := android.ModuleBuildParams{
-			Rule:      darwinAr,
-			Output:    out,
-			Inputs:    l,
-			Implicits: deps,
+			Rule:        darwinAr,
+			Description: "static link " + out.Base(),
+			Output:      out,
+			Inputs:      l,
+			Implicits:   deps,
 			Args: map[string]string{
 				"arFlags": arFlags,
 			},
@@ -592,10 +589,11 @@
 	}
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      ld,
-		Output:    outputFile,
-		Inputs:    objFiles,
-		Implicits: deps,
+		Rule:        ld,
+		Description: "link " + outputFile.Base(),
+		Output:      outputFile,
+		Inputs:      objFiles,
+		Implicits:   deps,
 		Args: map[string]string{
 			"ldCmd":    ldCmd,
 			"crtBegin": crtBegin.String(),
@@ -618,10 +616,11 @@
 		linkedDumpDep = symbolFile.Path()
 	}
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:     sAbiLink,
-		Output:   outputFile,
-		Inputs:   sAbiDumps,
-		Implicit: linkedDumpDep,
+		Rule:        sAbiLink,
+		Description: "header-abi-linker " + outputFile.Base(),
+		Output:      outputFile,
+		Inputs:      sAbiDumps,
+		Implicit:    linkedDumpDep,
 		Args: map[string]string{
 			"symbolFile": symbolFileStr,
 			"arch":       ctx.Arch().ArchType.Name,
@@ -636,10 +635,11 @@
 	baseName string) android.OptionalPath {
 	outputFile := android.PathForModuleOut(ctx, baseName+".abidiff")
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:     sAbiDiff,
-		Output:   outputFile,
-		Input:    inputDump,
-		Implicit: referenceDump,
+		Rule:        sAbiDiff,
+		Description: "header-abi-diff " + outputFile.Base(),
+		Output:      outputFile,
+		Input:       inputDump,
+		Implicit:    referenceDump,
 		Args: map[string]string{
 			"referenceDump": referenceDump.String(),
 		},
@@ -654,9 +654,10 @@
 	crossCompile := gccCmd(flags.toolchain, "")
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   toc,
-		Output: outputFile,
-		Input:  inputFile,
+		Rule:        toc,
+		Description: "generate toc " + inputFile.Base(),
+		Output:      outputFile,
+		Input:       inputFile,
 		Args: map[string]string{
 			"crossCompile": crossCompile,
 		},
@@ -675,9 +676,10 @@
 	}
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   partialLd,
-		Output: outputFile,
-		Inputs: objFiles,
+		Rule:        partialLd,
+		Description: "link " + outputFile.Base(),
+		Output:      outputFile,
+		Inputs:      objFiles,
 		Args: map[string]string{
 			"ldCmd":   ldCmd,
 			"ldFlags": flags.ldFlags,
@@ -692,9 +694,10 @@
 	objcopyCmd := gccCmd(flags.toolchain, "objcopy")
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   prefixSymbols,
-		Output: outputFile,
-		Input:  inputFile,
+		Rule:        prefixSymbols,
+		Description: "prefix symbols " + outputFile.Base(),
+		Output:      outputFile,
+		Input:       inputFile,
 		Args: map[string]string{
 			"objcopyCmd": objcopyCmd,
 			"prefix":     prefix,
@@ -718,9 +721,10 @@
 	}
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   strip,
-		Output: outputFile,
-		Input:  inputFile,
+		Rule:        strip,
+		Description: "strip " + outputFile.Base(),
+		Output:      outputFile,
+		Input:       inputFile,
 		Args: map[string]string{
 			"crossCompile": crossCompile,
 			"args":         args,
@@ -732,9 +736,10 @@
 	outputFile android.WritablePath) {
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   darwinStrip,
-		Output: outputFile,
-		Input:  inputFile,
+		Rule:        darwinStrip,
+		Description: "strip " + outputFile.Base(),
+		Output:      outputFile,
+		Input:       inputFile,
 	})
 }
 
@@ -756,8 +761,9 @@
 	flags builderFlags, outputFile android.WritablePath) {
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   copyGccLib,
-		Output: outputFile,
+		Rule:        copyGccLib,
+		Description: "copy gcc library " + libName,
+		Output:      outputFile,
 		Args: map[string]string{
 			"ccCmd":   gccCmd(flags.toolchain, "gcc"),
 			"cFlags":  flags.globalFlags,
diff --git a/cc/gen.go b/cc/gen.go
index 353c43d..7a22abd 100644
--- a/cc/gen.go
+++ b/cc/gen.go
@@ -37,7 +37,6 @@
 		blueprint.RuleParams{
 			Command:     "BISON_PKGDATADIR=$yaccDataDir $yaccCmd -d $yaccFlags --defines=$hFile -o $out $in",
 			CommandDeps: []string{"$yaccCmd"},
-			Description: "yacc $out",
 		},
 		"yaccFlags", "hFile")
 
@@ -45,7 +44,6 @@
 		blueprint.RuleParams{
 			Command:     "$lexCmd -o$out $in",
 			CommandDeps: []string{"$lexCmd"},
-			Description: "lex $out",
 		})
 
 	aidl = pctx.AndroidStaticRule("aidl",
@@ -54,7 +52,6 @@
 			CommandDeps: []string{"$aidlCmd"},
 			Depfile:     "${out}.d",
 			Deps:        blueprint.DepsGCC,
-			Description: "aidl $out",
 		},
 		"aidlFlags", "outDir")
 )
@@ -64,6 +61,7 @@
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
 		Rule:           yacc,
+		Description:    "yacc " + yaccFile.Rel(),
 		Output:         outFile,
 		ImplicitOutput: headerFile,
 		Input:          yaccFile,
@@ -79,9 +77,10 @@
 func genAidl(ctx android.ModuleContext, aidlFile android.Path, outFile android.ModuleGenPath, aidlFlags string) android.Paths {
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   aidl,
-		Output: outFile,
-		Input:  aidlFile,
+		Rule:        aidl,
+		Description: "aidl " + aidlFile.Rel(),
+		Output:      outFile,
+		Input:       aidlFile,
 		Args: map[string]string{
 			"aidlFlags": aidlFlags,
 			"outDir":    android.PathForModuleGen(ctx, "aidl").String(),
@@ -94,9 +93,10 @@
 
 func genLex(ctx android.ModuleContext, lexFile android.Path, outFile android.ModuleGenPath) {
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   lex,
-		Output: outFile,
-		Input:  lexFile,
+		Rule:        lex,
+		Description: "lex " + lexFile.Rel(),
+		Output:      outFile,
+		Input:       lexFile,
 	})
 }
 
diff --git a/cc/ndk_headers.go b/cc/ndk_headers.go
index deb735a..516f6e2 100644
--- a/cc/ndk_headers.go
+++ b/cc/ndk_headers.go
@@ -31,7 +31,6 @@
 			// let us have only implicit outputs.
 			Command:     "$versionerCmd -o $outDir $srcDir $depsPath && touch $out",
 			CommandDeps: []string{"$versionerCmd"},
-			Description: "versioner preprocess $in",
 		},
 		"depsPath", "srcDir", "outDir")
 )
@@ -238,6 +237,7 @@
 	timestampFile := android.PathForModuleOut(ctx, "versioner.timestamp")
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
 		Rule:            preprocessBionicHeaders,
+		Description:     "versioner preprocess " + srcDir.Rel(),
 		Output:          timestampFile,
 		Implicits:       append(srcFiles, depsGlob...),
 		ImplicitOutputs: installPaths,
diff --git a/cc/ndk_library.go b/cc/ndk_library.go
index 1bd63a9..ba3ec7d 100644
--- a/cc/ndk_library.go
+++ b/cc/ndk_library.go
@@ -32,7 +32,6 @@
 		blueprint.RuleParams{
 			Command: "$toolPath --arch $arch --api $apiLevel --api-map " +
 				"$apiMap $vndk $in $out",
-			Description: "genStubSrc $out",
 			CommandDeps: []string{"$toolPath"},
 		}, "arch", "apiLevel", "apiMap", "vndk")
 
@@ -251,10 +250,11 @@
 	symbolFilePath := android.PathForModuleSrc(ctx, symbolFile)
 	apiLevelsJson := android.GetApiLevelsJson(ctx)
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      genStubSrc,
-		Outputs:   []android.WritablePath{stubSrcPath, versionScriptPath},
-		Input:     symbolFilePath,
-		Implicits: []android.Path{apiLevelsJson},
+		Rule:        genStubSrc,
+		Description: "generate stubs " + symbolFilePath.Rel(),
+		Outputs:     []android.WritablePath{stubSrcPath, versionScriptPath},
+		Input:       symbolFilePath,
+		Implicits:   []android.Path{apiLevelsJson},
 		Args: map[string]string{
 			"arch":     arch,
 			"apiLevel": apiLevel,
diff --git a/cc/ndk_sysroot.go b/cc/ndk_sysroot.go
index 2e4e395..5b4cfbe 100644
--- a/cc/ndk_sysroot.go
+++ b/cc/ndk_sysroot.go
@@ -113,10 +113,11 @@
 
 	combinedLicense := getNdkInstallBase(ctx).Join(ctx, "NOTICE")
 	ctx.Build(pctx, blueprint.BuildParams{
-		Rule:     android.Cat,
-		Outputs:  []string{combinedLicense.String()},
-		Inputs:   licensePaths,
-		Optional: true,
+		Rule:        android.Cat,
+		Description: "combine licenses",
+		Outputs:     []string{combinedLicense.String()},
+		Inputs:      licensePaths,
+		Optional:    true,
 	})
 
 	depPaths := append(installPaths, combinedLicense.String())
diff --git a/cc/proto.go b/cc/proto.go
index 10d3c62..6c1789a 100644
--- a/cc/proto.go
+++ b/cc/proto.go
@@ -30,7 +30,6 @@
 		blueprint.RuleParams{
 			Command:     "$protocCmd --cpp_out=$outDir $protoFlags $in",
 			CommandDeps: []string{"$protocCmd"},
-			Description: "protoc $out",
 		}, "protoFlags", "outDir")
 )
 
@@ -48,9 +47,10 @@
 	outFile := android.GenPathWithExt(ctx, "proto", protoFile, "pb.cc")
 	headerFile := android.GenPathWithExt(ctx, "proto", protoFile, "pb.h")
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:    proto,
-		Outputs: android.WritablePaths{outFile, headerFile},
-		Input:   protoFile,
+		Rule:        proto,
+		Description: "protoc " + protoFile.Rel(),
+		Outputs:     android.WritablePaths{outFile, headerFile},
+		Input:       protoFile,
 		Args: map[string]string{
 			"outDir":     protoDir(ctx).String(),
 			"protoFlags": protoFlags,
diff --git a/cc/relocation_packer.go b/cc/relocation_packer.go
index c509f31..c9f82ba 100644
--- a/cc/relocation_packer.go
+++ b/cc/relocation_packer.go
@@ -30,7 +30,6 @@
 	blueprint.RuleParams{
 		Command:     "rm -f $out && cp $in $out && $relocationPackerCmd $out",
 		CommandDeps: []string{"$relocationPackerCmd"},
-		Description: "pack relocations $out",
 	})
 
 type RelocationPackerProperties struct {
@@ -77,8 +76,9 @@
 
 func (p *relocationPacker) pack(ctx ModuleContext, in, out android.ModuleOutPath, flags builderFlags) {
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   relocationPackerRule,
-		Output: out,
-		Input:  in,
+		Rule:        relocationPackerRule,
+		Description: "pack relocations",
+		Output:      out,
+		Input:       in,
 	})
 }
diff --git a/cc/rs.go b/cc/rs.go
index a001f89..976107e 100644
--- a/cc/rs.go
+++ b/cc/rs.go
@@ -39,7 +39,6 @@
 			CommandDeps: []string{"$rsCmd"},
 			Depfile:     "${out}.d",
 			Deps:        blueprint.DepsGCC,
-			Description: "rsCpp $out",
 		},
 		"depFiles", "outDir", "rsFlags", "stampFile")
 )
@@ -67,6 +66,7 @@
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
 		Rule:            rsCpp,
+		Description:     "llvm-rs-cc",
 		Output:          stampFile,
 		ImplicitOutputs: cppFiles,
 		Inputs:          rsFiles,
diff --git a/genrule/genrule.go b/genrule/genrule.go
index 6807761..2ff018f 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -218,11 +218,17 @@
 }
 
 func (g *generator) generateSourceFile(ctx android.ModuleContext, task generateTask) {
+	desc := "generate"
+	if len(task.out) == 1 {
+		desc += " " + task.out[0].Base()
+	}
+
 	params := android.ModuleBuildParams{
-		Rule:      g.rule,
-		Outputs:   task.out,
-		Inputs:    task.in,
-		Implicits: g.deps,
+		Rule:        g.rule,
+		Description: "generate",
+		Outputs:     task.out,
+		Inputs:      task.in,
+		Implicits:   g.deps,
 	}
 	if g.properties.Depfile {
 		depfile := android.GenPathWithExt(ctx, "", task.out[0], task.out[0].Ext()+".d")
diff --git a/java/app_builder.go b/java/app_builder.go
index bbd3dac..55fded5 100644
--- a/java/app_builder.go
+++ b/java/app_builder.go
@@ -34,7 +34,6 @@
 				`-J $javaDir || ( rm -rf "$javaDir/*"; exit 41 ) && ` +
 				`find $javaDir -name "*.java" > $javaFileList`,
 			CommandDeps: []string{"$aaptCmd"},
-			Description: "aapt create R.java $out",
 		},
 		"aaptFlags", "publicResourcesFile", "proguardOptionsFile", "javaDir", "javaFileList")
 
@@ -42,7 +41,6 @@
 		blueprint.RuleParams{
 			Command:     `rm -f $out && $aaptCmd package $aaptFlags -F $out`,
 			CommandDeps: []string{"$aaptCmd"},
-			Description: "aapt export package $out",
 		},
 		"aaptFlags", "publicResourcesFile", "proguardOptionsFile", "javaDir", "javaFileList")
 
@@ -51,7 +49,6 @@
 			// TODO: add-jni-shared-libs-to-package
 			Command:     `cp -f $in $out.tmp && $aaptCmd package -u $aaptFlags -F $out.tmp && mv $out.tmp $out`,
 			CommandDeps: []string{"$aaptCmd"},
-			Description: "aapt package $out",
 		},
 		"aaptFlags")
 
@@ -59,7 +56,6 @@
 		blueprint.RuleParams{
 			Command:     `java -jar $signapkCmd $certificates $in $out`,
 			CommandDeps: []string{"$signapkCmd"},
-			Description: "signapk $out",
 		},
 		"certificates")
 
@@ -68,7 +64,7 @@
 			Command: "java -classpath $androidManifestMergerCmd com.android.manifmerger.Main merge " +
 				"--main $in --libs $libsManifests --out $out",
 			CommandDeps: []string{"$androidManifestMergerCmd"},
-			Description: "merge manifest files $out",
+			Description: "merge manifest files",
 		},
 		"libsManifests")
 )
@@ -87,9 +83,10 @@
 	proguardOptionsFile := android.PathForModuleOut(ctx, "proguard.options")
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      aaptCreateResourceJavaFile,
-		Outputs:   android.WritablePaths{publicResourcesFile, proguardOptionsFile, javaFileList},
-		Implicits: deps,
+		Rule:        aaptCreateResourceJavaFile,
+		Description: "aapt create R.java",
+		Outputs:     android.WritablePaths{publicResourcesFile, proguardOptionsFile, javaFileList},
+		Implicits:   deps,
 		Args: map[string]string{
 			"aaptFlags":           strings.Join(flags, " "),
 			"publicResourcesFile": publicResourcesFile.String(),
@@ -106,9 +103,10 @@
 	outputFile := android.PathForModuleOut(ctx, "package-export.apk")
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      aaptCreateAssetsPackage,
-		Output:    outputFile,
-		Implicits: deps,
+		Rule:        aaptCreateAssetsPackage,
+		Description: "aapt export package",
+		Output:      outputFile,
+		Implicits:   deps,
 		Args: map[string]string{
 			"aaptFlags": strings.Join(flags, " "),
 		},
@@ -123,9 +121,10 @@
 	resourceApk := android.PathForModuleOut(ctx, "resources.apk")
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   aaptAddResources,
-		Output: resourceApk,
-		Input:  jarFile,
+		Rule:        aaptAddResources,
+		Description: "aapt package",
+		Output:      resourceApk,
+		Input:       jarFile,
 		Args: map[string]string{
 			"aaptFlags": strings.Join(flags, " "),
 		},
@@ -139,9 +138,10 @@
 	}
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   signapk,
-		Output: outputFile,
-		Input:  resourceApk,
+		Rule:        signapk,
+		Description: "signapk",
+		Output:      outputFile,
+		Input:       resourceApk,
 		Args: map[string]string{
 			"certificates": strings.Join(certificateArgs, " "),
 		},
diff --git a/java/builder.go b/java/builder.go
index a9da0fc..895a999 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -45,7 +45,6 @@
 				`find $outDir -name "*.class" > $out`,
 			Rspfile:        "$out.rsp",
 			RspfileContent: "$in",
-			Description:    "javac $outDir",
 		},
 		"javacCmd", "javacFlags", "bootClasspath", "classpath", "outDir")
 
@@ -53,7 +52,6 @@
 		blueprint.RuleParams{
 			Command:     `$jarCmd -o $out $jarArgs`,
 			CommandDeps: []string{"$jarCmd"},
-			Description: "jar $out",
 		},
 		"jarCmd", "jarArgs")
 
@@ -63,7 +61,6 @@
 				`$dxCmd --dex --output=$outDir $dxFlags $in || ( rm -rf "$outDir"; exit 41 ) && ` +
 				`find "$outDir" -name "classes*.dex" > $out`,
 			CommandDeps: []string{"$dxCmd"},
-			Description: "dex $out",
 		},
 		"outDir", "dxFlags")
 
@@ -71,7 +68,6 @@
 		blueprint.RuleParams{
 			Command:     "java -jar $jarjarCmd process $rulesFile $in $out",
 			CommandDeps: []string{"$jarjarCmd", "$rulesFile"},
-			Description: "jarjar $out",
 		},
 		"rulesFile")
 
@@ -81,7 +77,6 @@
 				`find $outDir -name "*.class" > $classFile && ` +
 				`find $outDir -type f -a \! -name "*.class" -a \! -name "MANIFEST.MF" > $resourceFile || ` +
 				`(rm -rf $outDir; exit 42)`,
-			Description: "extract java prebuilt $outDir",
 		},
 		"outDir", "classFile", "resourceFile")
 )
@@ -122,10 +117,11 @@
 	deps = append(deps, srcFileLists...)
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      javac,
-		Output:    classFileList,
-		Inputs:    srcFiles,
-		Implicits: deps,
+		Rule:        javac,
+		Description: "javac",
+		Output:      classFileList,
+		Inputs:      srcFiles,
+		Implicits:   deps,
 		Args: map[string]string{
 			"javacFlags":    javacFlags,
 			"bootClasspath": flags.bootClasspath,
@@ -156,9 +152,10 @@
 	}
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      jar,
-		Output:    outputFile,
-		Implicits: deps,
+		Rule:        jar,
+		Description: "jar",
+		Output:      outputFile,
+		Implicits:   deps,
 		Args: map[string]string{
 			"jarArgs": strings.Join(jarArgs, " "),
 		},
@@ -174,9 +171,10 @@
 	outputFile := android.PathForModuleOut(ctx, "dex.filelist")
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   dx,
-		Output: outputFile,
-		Input:  classesJar,
+		Rule:        dx,
+		Description: "dx",
+		Output:      outputFile,
+		Input:       classesJar,
 		Args: map[string]string{
 			"dxFlags": flags.dxFlags,
 			"outDir":  outDir.String(),
@@ -202,9 +200,10 @@
 	jarArgs = append(jarArgs, dexJarSpec.soongJarArgs())
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      jar,
-		Output:    outputFile,
-		Implicits: deps,
+		Rule:        jar,
+		Description: "jar",
+		Output:      outputFile,
+		Implicits:   deps,
 		Args: map[string]string{
 			"jarArgs": strings.Join(jarArgs, " "),
 		},
@@ -216,10 +215,11 @@
 func TransformJarJar(ctx android.ModuleContext, classesJar android.Path, rulesFile android.Path) android.Path {
 	outputFile := android.PathForModuleOut(ctx, "classes-jarjar.jar")
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:     jarjar,
-		Output:   outputFile,
-		Input:    classesJar,
-		Implicit: rulesFile,
+		Rule:        jarjar,
+		Description: "jarjar",
+		Output:      outputFile,
+		Input:       classesJar,
+		Implicit:    rulesFile,
 		Args: map[string]string{
 			"rulesFile": rulesFile.String(),
 		},
@@ -236,9 +236,10 @@
 	resourceFileList := android.PathForModuleOut(ctx, "extracted/resources.list")
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:    extractPrebuilt,
-		Outputs: android.WritablePaths{classFileList, resourceFileList},
-		Input:   prebuilt,
+		Rule:        extractPrebuilt,
+		Description: "extract classes",
+		Outputs:     android.WritablePaths{classFileList, resourceFileList},
+		Input:       prebuilt,
 		Args: map[string]string{
 			"outDir":       classDir.String(),
 			"classFile":    classFileList.String(),
diff --git a/java/gen.go b/java/gen.go
index 0624708..e3973bf 100644
--- a/java/gen.go
+++ b/java/gen.go
@@ -37,7 +37,6 @@
 		blueprint.RuleParams{
 			Command:     "$aidlCmd -d$depFile $aidlFlags $in $out",
 			CommandDeps: []string{"$aidlCmd"},
-			Description: "aidl $out",
 		},
 		"depFile", "aidlFlags")
 
@@ -45,14 +44,12 @@
 		blueprint.RuleParams{
 			Command:     "$logtagsCmd -o $out $in $allLogtagsFile",
 			CommandDeps: []string{"$logtagsCmd"},
-			Description: "logtags $out",
 		})
 
 	mergeLogtags = pctx.AndroidStaticRule("mergeLogtags",
 		blueprint.RuleParams{
 			Command:     "$mergeLogtagsCmd -o $out $in",
 			CommandDeps: []string{"$mergeLogtagsCmd"},
-			Description: "merge logtags $out",
 		})
 )
 
@@ -61,9 +58,10 @@
 	depFile := javaFile.String() + ".d"
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   aidl,
-		Output: javaFile,
-		Input:  aidlFile,
+		Rule:        aidl,
+		Description: "aidl " + aidlFile.Rel(),
+		Output:      javaFile,
+		Input:       aidlFile,
 		Args: map[string]string{
 			"depFile":   depFile,
 			"aidlFlags": aidlFlags,
@@ -77,9 +75,10 @@
 	javaFile := android.GenPathWithExt(ctx, "logtags", logtagsFile, "java")
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:   logtags,
-		Output: javaFile,
-		Input:  logtagsFile,
+		Rule:        logtags,
+		Description: "logtags " + logtagsFile.Rel(),
+		Output:      javaFile,
+		Input:       logtagsFile,
 	})
 
 	return javaFile
@@ -122,8 +121,9 @@
 	})
 
 	ctx.Build(pctx, blueprint.BuildParams{
-		Rule:    mergeLogtags,
-		Outputs: []string{"$allLogtagsFile"},
-		Inputs:  allLogtags.Strings(),
+		Rule:        mergeLogtags,
+		Description: "merge logtags",
+		Outputs:     []string{"$allLogtagsFile"},
+		Inputs:      allLogtags.Strings(),
 	})
 }
diff --git a/python/builder.go b/python/builder.go
index 6223448..541d2bf 100644
--- a/python/builder.go
+++ b/python/builder.go
@@ -35,7 +35,6 @@
 				`$parCmd -o $parFile $parArgs && echo '#!/usr/bin/env python' | cat - $parFile > $out && ` +
 				`chmod +x $out && (rm -f $initFile; rm -f $stub; rm -f $parFile)`,
 			CommandDeps: []string{"$parCmd", "$template"},
-			Description: "build par $out",
 		},
 		"initFile", "interp", "main", "template", "stub", "parCmd", "parFile", "parArgs")
 )
@@ -78,9 +77,10 @@
 	}
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      android.WriteFile,
-		Output:    fileList,
-		Implicits: files,
+		Rule:        android.WriteFile,
+		Description: "generate " + fileList.Rel(),
+		Output:      fileList,
+		Implicits:   files,
 		Args: map[string]string{
 			"content": strings.Join(content, "\n"),
 		},
@@ -126,9 +126,10 @@
 	}
 
 	ctx.ModuleBuild(pctx, android.ModuleBuildParams{
-		Rule:      par,
-		Output:    binFile,
-		Implicits: implicits,
+		Rule:        par,
+		Description: "python archive",
+		Output:      binFile,
+		Implicits:   implicits,
 		Args: map[string]string{
 			"initFile": initFile,
 			// the "\" isn't being interpreted by regex parser, it's being
