pw_build: Split target_types.gni

This splits target_types.gni into multiple gni files to allow
pw_executable templates to utilize pw_source_sets by importing
library_types.gni.

Change-Id: I6d8e28a0dcb53ed4e95d0c1d7ec922d013089f3b
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/51400
Reviewed-by: Joe Ethier <jethier@google.com>
Commit-Queue: Armando Montanez <amontanez@google.com>
diff --git a/pw_build/docs.rst b/pw_build/docs.rst
index 7bf075b..9263d06 100644
--- a/pw_build/docs.rst
+++ b/pw_build/docs.rst
@@ -62,6 +62,11 @@
 ``pw_executable_config.target_type``, specifying the name of the executable
 template for a project.
 
+In some uncommon cases, a project's ``pw_executable`` template definition may
+need to stamp out some ``pw_source_set``s. Since a pw_executable template can't
+import ``$dir_pw_build/target_types.gni`` due to circular imports, it should
+import ``$dir_pw_build/cc_library.gni`` instead.
+
 .. tip::
 
   Prefer to use ``pw_executable`` over plain ``executable`` targets to allow