Add subdir to GenPath

We were emulating this for proto files, standardize it and make the
other generators use it as well.

Test: Compare out/soong/build.ninja before/after change
Test: mmma -j system/tools/hidl
Change-Id: I1888c7b981749060a398387bbb9b481270bf6d75
diff --git a/cc/builder.go b/cc/builder.go
index faa39d1..f795bba 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -234,7 +234,7 @@
 	}
 
 	for i, srcFile := range srcFiles {
-		objFile := android.ObjPathWithExt(ctx, srcFile, subdir, "o")
+		objFile := android.ObjPathWithExt(ctx, subdir, srcFile, "o")
 
 		objFiles[i] = objFile
 
@@ -285,7 +285,7 @@
 		})
 
 		if tidy {
-			tidyFile := android.ObjPathWithExt(ctx, srcFile, subdir, "tidy")
+			tidyFile := android.ObjPathWithExt(ctx, subdir, srcFile, "tidy")
 			tidyFiles = append(tidyFiles, tidyFile)
 
 			ctx.ModuleBuild(pctx, android.ModuleBuildParams{