Title: Theory / Important / Chrome / Build / GN
On every note of this deck, unless a note says otherwise:
Page: https://gn.googlesource.com/gn/+/HEAD/docs/language.md

Instruction: target_type(target_name) {
  param_1 = value_1
  ...
  param_n = value_n
}
Page: https://gn.googlesource.com/gn/+/HEAD/docs/language.md
Meaning: target_type with param_i having value_i
Language: Objective-C
Context: chrome
Identifier: target_name
Name: A target
Example: Action, action_foreach, bundle_data, create_bundle, executable, group, shared_library, loadable_module, source_set, static library

Typ: action
Meaning: Run a script to generate a file
Language: GN
Context: target
Library: A target

Typ: action_foreach
Meaning: Run a script once for each source file
Language: GN
Context: target
Library: A target

Typ: bundle_data
Meaning: declare data to go into a Mac/iOS bundle
Language: GN
Context: target
Library: A target

Typ: create_bundle
Meaning: Create a Mac/iOS bundle
Language: GN
Context: target
Library: A target

Typ: executable
Meaning: generates an executable file
Language: GN
Context: target
Library: A target

Typ: group
Meaning: A virtual dependency node that refers to one or more other targets
Language: GN
Context: target
Library: A target

Typ: shared_library
Meaning: A .dll or .so
Language: GN
Context: target
Library: A target

Typ: loadable_module
Meaning: A .dll or .so  loadable only at runtime
Language: GN
Context: target
Library: A target

Typ: source_set
Meaning: A lightweight virtual static library
Language: GN
Context: target
Library: A target

Typ: static_library
Meaning: A .lib or .a file
Language: GN
Context: target
Library: A target

Question: Which one to prefer between  source_set and static_library
Answer: source set, as its build faster
Page: https://gn.googlesource.com/gn/+/HEAD/docs/language.md
Context: GN, target

Typ: component
Meaning: Either a source set or shared library, depending on the build type.
Language: GN
Context: target

Typ: test
Meaning: .A test executable. On mobile this will create the appropriate native app type for tests.
Language: GN
Context: target

Typ: app
Meaning: Executable or Mac/iOS application
Language: GN
Context: target

Typ: android_apk
Meaning: Make an APK
Language: GN
Context: target
Extra: There are a lot of other Android ones, see //build/config/android/rules.gni.