genrule: support deps files

If a genrule sets deps_file: true, use a file in the gen directory
as a GCC-style deps file.

Test: m -j libLLVMObject
Change-Id: Id410165847e4eaea1853a392512e38787c431523
diff --git a/android/module.go b/android/module.go
index 2b6f8ba..110f04c 100644
--- a/android/module.go
+++ b/android/module.go
@@ -34,6 +34,8 @@
 
 type ModuleBuildParams struct {
 	Rule            blueprint.Rule
+	Deps            blueprint.Deps
+	Depfile         WritablePath
 	Output          WritablePath
 	Outputs         WritablePaths
 	ImplicitOutput  WritablePath
@@ -521,6 +523,7 @@
 func (a *androidModuleContext) ModuleBuild(pctx blueprint.PackageContext, params ModuleBuildParams) {
 	bparams := blueprint.BuildParams{
 		Rule:            params.Rule,
+		Deps:            params.Deps,
 		Outputs:         params.Outputs.Strings(),
 		ImplicitOutputs: params.ImplicitOutputs.Strings(),
 		Inputs:          params.Inputs.Strings(),
@@ -530,6 +533,9 @@
 		Optional:        !params.Default,
 	}
 
+	if params.Depfile != nil {
+		bparams.Depfile = params.Depfile.String()
+	}
 	if params.Output != nil {
 		bparams.Outputs = append(bparams.Outputs, params.Output.String())
 	}