blob: 26004b7004469512e21e553ba1775410f6a259fc [file] [log] [blame]
Alexei Frolov0efdb112019-11-14 17:22:08 -08001# Copyright 2019 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
Armando Montanezfb3d3fb2020-06-09 18:12:12 -070015import("//build_overrides/pigweed.gni")
Alexei Frolov0efdb112019-11-14 17:22:08 -080016
Armando Montanezfb3d3fb2020-06-09 18:12:12 -070017import("$dir_pw_docgen/docs.gni")
Wyatt Heplerd49f8fe2020-10-15 10:13:47 -070018
Keir Mierle72cae432021-04-10 02:03:40 -070019# Note: These may be useful for downstream projects, which is why they are
20# split out from the overall docgen target below.
Keir Mierle2c1e56b2019-11-15 16:32:11 -080021pw_doc_group("core_docs") {
Armando Montanez1d001202020-03-04 11:51:32 -080022 inputs = [
Armando Montanez4db74e12020-03-17 15:55:59 -070023 "images/pw_env_setup_demo.gif",
Armando Montanezbcc194b2020-03-10 10:23:18 -070024 "images/pw_status_test.png",
Armando Montanez1d001202020-03-04 11:51:32 -080025 "images/pw_watch_build_demo.gif",
Armando Montanezbcc194b2020-03-10 10:23:18 -070026 "images/pw_watch_on_device_demo.gif",
Armando Montanez1d001202020-03-04 11:51:32 -080027 "images/pw_watch_test_demo.gif",
28 "images/stm32f429i-disc1_connected.jpg",
Keir Mierleb1914022021-04-12 09:08:33 -070029
30 # TODO(pwbug/368): This should be in the pw_doc_gen target instead of here.
31 "_static/css/pigweed.css",
Armando Montanez1d001202020-03-04 11:51:32 -080032 ]
Keir Mierle2c1e56b2019-11-15 16:32:11 -080033 sources = [
Keir Mierle72cae432021-04-10 02:03:40 -070034 "code_of_conduct.rst",
35 "contributing.rst",
Keir Mierle2c1e56b2019-11-15 16:32:11 -080036 "embedded_cpp_guide.rst",
Keir Mierleeaa7e922020-07-24 14:30:47 -070037 "faq.rst",
Keir Mierle72cae432021-04-10 02:03:40 -070038 "getting_started.rst",
Keir Mierle086ef1c2020-03-19 02:03:51 -070039 "module_structure.rst",
Ewout van Bekkumcc756c82021-05-12 07:57:43 -070040 "os_abstraction_layers.rst",
Keir Mierle2c1e56b2019-11-15 16:32:11 -080041 "style_guide.rst",
42 ]
43}
44
Armando Montanez08745582019-12-12 10:51:50 -080045# Documentation for upstream Pigweed targets.
46group("target_docs") {
Armando Montanez3d92e812020-03-19 12:13:36 -070047 deps = [
Anthony DiGirolamoeea0d772020-08-06 12:00:36 -070048 "$dir_pigweed/targets/arduino:target_docs",
Armando Montanez3d92e812020-03-19 12:13:36 -070049 "$dir_pigweed/targets/docs:target_docs",
50 "$dir_pigweed/targets/host:target_docs",
Armando Montanez096de552020-03-23 10:38:18 -070051 "$dir_pigweed/targets/lm3s6965evb-qemu:target_docs",
Armando Montanez3d92e812020-03-19 12:13:36 -070052 "$dir_pigweed/targets/stm32f429i-disc1:target_docs",
53 ]
Armando Montanez08745582019-12-12 10:51:50 -080054}
55
Alexei Frolov216808f2020-09-08 14:01:45 -070056group("module_docs") {
Alexei Frolov0efdb112019-11-14 17:22:08 -080057 deps = [
Rob Mohre916d322020-07-17 09:07:32 -070058 "$dir_docker:docs",
Armando Montanezccc3ee12020-06-11 16:36:11 -070059 "$dir_pw_allocator:docs",
Anthony DiGirolamo9147aa02020-09-22 10:41:05 -070060 "$dir_pw_arduino_build:docs",
Keir Mierle3cee8792020-01-22 17:08:13 -080061 "$dir_pw_assert:docs",
Keir Mierleec9bf1b2020-03-03 10:27:01 -080062 "$dir_pw_assert_basic:docs",
Keir Mierleb776cb22020-08-14 16:46:50 -070063 "$dir_pw_assert_log:docs",
Armando Montanez0054a9b2020-03-13 13:06:24 -070064 "$dir_pw_base64:docs",
Alexei Frolov0efdb112019-11-14 17:22:08 -080065 "$dir_pw_bloat:docs",
David Rogers2d195022020-07-16 14:07:47 -070066 "$dir_pw_blob_store:docs",
Armando Montanez70095662020-01-09 14:25:04 -080067 "$dir_pw_boot_armv7m:docs",
Rob Mohr49de4922019-12-10 20:10:41 -080068 "$dir_pw_build:docs",
shaneajg9c19db42020-06-11 15:49:51 -040069 "$dir_pw_bytes:docs",
Wyatt Hepler3c4e5de2020-03-03 14:37:52 -080070 "$dir_pw_checksum:docs",
Ewout van Bekkum3c61ae92020-10-30 15:52:25 -070071 "$dir_pw_chrono:docs",
Ewout van Bekkuma25df5f2021-04-09 18:10:49 -070072 "$dir_pw_chrono_embos:docs",
73 "$dir_pw_chrono_freertos:docs",
Ewout van Bekkum3c61ae92020-10-30 15:52:25 -070074 "$dir_pw_chrono_stl:docs",
Ewout van Bekkuma25df5f2021-04-09 18:10:49 -070075 "$dir_pw_chrono_threadx:docs",
Armando Montanez0054a9b2020-03-13 13:06:24 -070076 "$dir_pw_cli:docs",
Wyatt Hepler3c4e5de2020-03-03 14:37:52 -080077 "$dir_pw_containers:docs",
Armando Montanez5104cd62019-12-10 14:36:43 -080078 "$dir_pw_cpu_exception:docs",
Armando Montaneza9ca9992021-01-26 17:06:10 -080079 "$dir_pw_cpu_exception_cortex_m:docs",
Alexei Frolov8ffcb912019-11-18 11:00:20 -080080 "$dir_pw_docgen:docs",
Rob Mohrf82e7a82020-01-03 13:50:11 -080081 "$dir_pw_doctor:docs",
Rob Mohrd45e2342020-03-03 15:02:18 -080082 "$dir_pw_env_setup:docs",
Aaron Greenf3c3d2b2020-04-02 23:12:31 -070083 "$dir_pw_fuzzer:docs",
Alexei Frolovd3e5cb72021-01-08 13:08:45 -080084 "$dir_pw_hdlc:docs",
Armando Montanez593d0d52020-07-08 19:55:01 -070085 "$dir_pw_hex_dump:docs",
Ewout van Bekkumbd4906c2020-11-11 13:42:13 -080086 "$dir_pw_interrupt:docs",
87 "$dir_pw_interrupt_cortex_m:docs",
Armando Montanez0054a9b2020-03-13 13:06:24 -070088 "$dir_pw_kvs:docs",
Keir Mierle32829d32020-11-25 15:38:40 -080089 "$dir_pw_libc:docs",
Keir Mierleaf5e3582019-12-30 13:11:05 -080090 "$dir_pw_log:docs",
Armando Montanez0054a9b2020-03-13 13:06:24 -070091 "$dir_pw_log_basic:docs",
Prashanth Swaminathan5ef2aa22020-11-10 09:57:46 -080092 "$dir_pw_log_multisink:docs",
Wyatt Hepler24a6e272020-09-01 10:25:28 -070093 "$dir_pw_log_null:docs",
Prashanth Swaminathane9cf3762020-09-23 10:01:29 -070094 "$dir_pw_log_rpc:docs",
Prashanth Swaminathan49a4a822021-01-12 18:41:52 -080095 "$dir_pw_log_sink:docs",
Wyatt Heplercb725c12020-05-01 11:05:01 -070096 "$dir_pw_log_tokenized:docs",
Keir Mierle45fa7852020-08-10 21:09:54 -070097 "$dir_pw_metric:docs",
Wyatt Hepler0412a7d2020-01-28 16:27:32 -080098 "$dir_pw_minimal_cpp_stdlib:docs",
Keir Mierlec34f71f2019-12-06 12:44:47 -080099 "$dir_pw_module:docs",
Prashanth Swaminathanf36832a2021-01-27 16:20:32 -0800100 "$dir_pw_multisink:docs",
Rob Mohr0b6a5022020-10-22 11:10:24 -0700101 "$dir_pw_package:docs",
Ewout van Bekkum32dc5c52021-03-16 11:35:37 -0700102 "$dir_pw_persistent_ram:docs",
Wyatt Heplerc542a5d2020-01-15 15:43:10 -0800103 "$dir_pw_polyfill:docs",
Alexei Frolov0efdb112019-11-14 17:22:08 -0800104 "$dir_pw_preprocessor:docs",
Wyatt Hepleree3e02f2019-12-05 10:52:31 -0800105 "$dir_pw_presubmit:docs",
Alexei Frolov9c2ed462020-01-13 15:35:42 -0800106 "$dir_pw_protobuf:docs",
Alexei Frolov942adf02019-12-11 17:07:28 -0800107 "$dir_pw_protobuf_compiler:docs",
Armando Montanez47008e82020-08-04 11:04:45 -0700108 "$dir_pw_random:docs",
Alexei Frolov41b32d32019-11-13 17:22:03 -0800109 "$dir_pw_result:docs",
Keir Mierle866cff42020-04-28 22:24:44 -0700110 "$dir_pw_ring_buffer:docs",
Alexei Frolov5af57d12021-01-12 11:38:06 -0800111 "$dir_pw_router:docs",
Alexei Frolov26e3ae62020-05-04 17:06:17 -0700112 "$dir_pw_rpc:docs",
Armando Montanez179aa8e2021-03-10 11:46:35 -0800113 "$dir_pw_snapshot:docs",
Wyatt Hepleree3e02f2019-12-05 10:52:31 -0800114 "$dir_pw_span:docs",
115 "$dir_pw_status:docs",
Armando Montanez0bcae732020-05-27 13:28:11 -0700116 "$dir_pw_stream:docs",
Wyatt Heplerfe85de22019-11-19 17:10:20 -0800117 "$dir_pw_string:docs",
Ewout van Bekkum58901932020-11-09 12:46:52 -0800118 "$dir_pw_sync:docs",
Prashanth Swaminathanacbd0702021-01-22 11:58:15 -0800119 "$dir_pw_sync_baremetal:docs",
Ewout van Bekkum3b9eca42021-04-02 14:54:02 -0700120 "$dir_pw_sync_embos:docs",
121 "$dir_pw_sync_freertos:docs",
Ewout van Bekkum58901932020-11-09 12:46:52 -0800122 "$dir_pw_sync_stl:docs",
Ewout van Bekkum5bcd8c42020-11-23 10:46:16 -0800123 "$dir_pw_sync_threadx:docs",
Armando Montanezf7a5a742020-03-02 14:58:59 -0800124 "$dir_pw_sys_io:docs",
Anthony DiGirolamoeea0d772020-08-06 12:00:36 -0700125 "$dir_pw_sys_io_arduino:docs",
Armando Montanezf7a5a742020-03-02 14:58:59 -0800126 "$dir_pw_sys_io_baremetal_stm32f429:docs",
127 "$dir_pw_sys_io_stdio:docs",
Alexei Frolov300dcea2019-12-23 13:33:59 -0800128 "$dir_pw_target_runner:docs",
Ewout van Bekkumf4da4892021-03-05 15:05:37 -0800129 "$dir_pw_thread:docs",
Ewout van Bekkuma25df5f2021-04-09 18:10:49 -0700130 "$dir_pw_thread_embos:docs",
131 "$dir_pw_thread_freertos:docs",
132 "$dir_pw_thread_stl:docs",
Ewout van Bekkumf4da4892021-03-05 15:05:37 -0800133 "$dir_pw_thread_threadx:docs",
Wyatt Hepler80c6ee52020-01-03 09:54:58 -0800134 "$dir_pw_tokenizer:docs",
Armando Montanez0054a9b2020-03-13 13:06:24 -0700135 "$dir_pw_toolchain:docs",
Robert Oliverd1323f42020-04-27 12:05:16 -0400136 "$dir_pw_trace:docs",
Robert Oliver21dcf272020-05-12 15:41:52 -0400137 "$dir_pw_trace_tokenized:docs",
Alexei Frolovea395522020-03-13 13:35:07 -0700138 "$dir_pw_unit_test:docs",
Wyatt Hepler3c4e5de2020-03-03 14:37:52 -0800139 "$dir_pw_varint:docs",
Armando Montanezbcc194b2020-03-10 10:23:18 -0700140 "$dir_pw_watch:docs",
Matthew Soulanille376d7972020-06-01 15:50:07 -0700141 "$dir_pw_web_ui:docs",
Alexei Frolov0efdb112019-11-14 17:22:08 -0800142 ]
143}
Alexei Frolov216808f2020-09-08 14:01:45 -0700144
145pw_doc_gen("docs") {
146 conf = "conf.py"
147 sources = [
Keir Mierleb1914022021-04-12 09:08:33 -0700148 # Note: These must use the "docs" prefix for links and image references. In
149 # contrast, the pw_doc_group above should not use the docs prefix.
Alexei Frolov216808f2020-09-08 14:01:45 -0700150 "build_system.rst",
151 "index.rst",
152 "module_guides.rst",
Wyatt Heplerb3ea9802021-02-23 09:46:09 -0800153 "python_build.rst",
Alexei Frolov216808f2020-09-08 14:01:45 -0700154 "targets.rst",
155 ]
156 output_directory = target_gen_dir
157 deps = [
158 ":core_docs",
159 ":module_docs",
160 ":target_docs",
Wyatt Hepler752d7d32021-03-02 09:02:23 -0800161 "$dir_pw_env_setup:python.install",
Alexei Frolov216808f2020-09-08 14:01:45 -0700162 ]
163}