Clarify usage of target_name list in --export-compile-commands

Clarify that the list of target_name applies to the 'name' of targets in
all build files that are processed by GN.

Change-Id: I9a704f95051fdfc791ccbb958918f037aa306932
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/10841
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Aaron Wood <aaronwood@google.com>
diff --git a/docs/reference.md b/docs/reference.md
index 68bd12c..06ab5a0 100644
--- a/docs/reference.md
+++ b/docs/reference.md
@@ -845,11 +845,18 @@
       Produces a compile_commands.json file in the root of the build directory
       containing an array of “command objects”, where each command object
       specifies one way a translation unit is compiled in the project. If a list
-      of target_name is supplied, only targets that are reachable from the list
-      of target_name will be used for “command objects” generation, otherwise
-      all available targets will be used. This is used for various Clang-based
-      tooling, allowing for the replay of individual compilations independent
-      of the build system.
+      of target_name is supplied, only targets that are reachable from any
+      target in any build file whose name is target_name will be used for
+      “command objects” generation, otherwise all available targets will be used.
+      This is used for various Clang-based tooling, allowing for the replay of
+      individual compilations independent of the build system.
+      e.g. "foo" will match:
+      - "//path/to/src:foo"
+      - "//other/path:foo"
+      - "//foo:foo"
+      and not match:
+      - "//foo:bar"
+
 ```
 ### <a name="cmd_help"></a>**gn help &lt;anything&gt;**
 
diff --git a/src/gn/command_gen.cc b/src/gn/command_gen.cc
index a014298..7c7fd01 100644
--- a/src/gn/command_gen.cc
+++ b/src/gn/command_gen.cc
@@ -488,11 +488,17 @@
       Produces a compile_commands.json file in the root of the build directory
       containing an array of “command objects”, where each command object
       specifies one way a translation unit is compiled in the project. If a list
-      of target_name is supplied, only targets that are reachable from the list
-      of target_name will be used for “command objects” generation, otherwise
-      all available targets will be used. This is used for various Clang-based
-      tooling, allowing for the replay of individual compilations independent
-      of the build system.
+      of target_name is supplied, only targets that are reachable from any
+      target in any build file whose name is target_name will be used for
+      “command objects” generation, otherwise all available targets will be used.
+      This is used for various Clang-based tooling, allowing for the replay of
+      individual compilations independent of the build system.
+      e.g. "foo" will match:
+      - "//path/to/src:foo"
+      - "//other/path:foo"
+      - "//foo:foo"
+      and not match:
+      - "//foo:bar"
 )";
 
 int RunGen(const std::vector<std::string>& args) {