1# 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 15import("//build_overrides/pigweed.gni") 16 17import("$dir_pw_build/python.gni") 18import("$dir_pw_build/python_action.gni") 19import("$dir_pw_docgen/docs.gni") 20 21pw_doc_group("static_assets") { 22 inputs = [ 23 "_static/css/pigweed.css", 24 "_static/js/changelog.js", 25 "_static/js/pigweed.js", 26 ] 27} 28 29# Note: These may be useful for downstream projects, which is why they are 30# split out from the overall docgen target below. 31pw_doc_group("core_docs") { 32 inputs = [ 33 "$dir_pigweed/.bazelversion", 34 "$dir_pigweed/Kconfig.zephyr", 35 "$dir_pw_async2/examples/coro_blinky_loop.cc", 36 "$dir_pw_async2/examples/count.cc", 37 "$dir_pw_async2/public/pw_async2/coro.h", 38 "$dir_pw_build/pigweed_recommended.bazelrc", 39 "$dir_pw_build/pigweed.bazelrc", 40 "$dir_pw_build/py/gn_tests/BUILD.gn", 41 "$dir_pw_build/py/pw_build/generate_python_wheel_cache.py", 42 "$dir_pw_build/python.gni", 43 "$dir_pw_build/python_gn_args.gni", 44 "_extensions/bug.py", 45 "_extensions/sitemap.py", 46 "layout/layout.html", 47 "run_doxygen.py", 48 ] 49 sources = [ 50 "3p/index.rst", 51 "blog/01-kudzu.rst", 52 "blog/02-bazel-feature-flags.rst", 53 "blog/03-pigweed-sdk.rst", 54 "blog/04-fixed-point.rst", 55 "blog/05-coroutines.rst", 56 "blog/06-better-cpp-toolchains.rst", 57 "blog/07-bazelcon-2024.rst", 58 "blog/08-bazel-docgen.rst", 59 "blog/index.rst", 60 "blog/rss.xml", 61 "code_of_conduct.rst", 62 "code_reviews.rst", 63 "community/index.rst", 64 "concepts/index.rst", 65 "contributing/docs/build.rst", 66 "contributing/docs/changelog.rst", 67 "contributing/docs/index.rst", 68 "contributing/docs/modules.rst", 69 "contributing/docs/website.rst", 70 "contributing/index.rst", 71 "embedded_cpp_guide.rst", 72 "facades.rst", 73 "faq.rst", 74 "get_started/bazel.rst", 75 "get_started/bazel_integration.rst", 76 "get_started/first_time_setup.rst", 77 "get_started/github_actions.rst", 78 "get_started/index.rst", 79 "get_started/install_bazel.rst", 80 "get_started/upstream.rst", 81 "get_started/zephyr.rst", 82 "glossary.rst", 83 "infra/bazel_lockfile.rst", 84 "infra/ci_cq_intro.rst", 85 "infra/index.rst", 86 "infra/rollers.rst", 87 "mission.rst", 88 "module_structure.rst", 89 "os/index.rst", 90 "os/zephyr/index.rst", 91 "os/zephyr/kconfig.rst", 92 "overview.rst", 93 "showcases/index.rst", 94 "showcases/sense/index.rst", 95 "showcases/sense/tutorial/automate.rst", 96 "showcases/sense/tutorial/bazel_cloud.rst", 97 "showcases/sense/tutorial/build.rst", 98 "showcases/sense/tutorial/code_intelligence.rst", 99 "showcases/sense/tutorial/crash_handler.rst", 100 "showcases/sense/tutorial/device_tests.rst", 101 "showcases/sense/tutorial/explore.rst", 102 "showcases/sense/tutorial/factory.rst", 103 "showcases/sense/tutorial/flash.rst", 104 "showcases/sense/tutorial/host_sim.rst", 105 "showcases/sense/tutorial/host_tests.rst", 106 "showcases/sense/tutorial/index.rst", 107 "showcases/sense/tutorial/outro.rst", 108 "showcases/sense/tutorial/production.rst", 109 "showcases/sense/tutorial/rpc.rst", 110 "showcases/sense/tutorial/setup.rst", 111 "showcases/sense/tutorial/web.rst", 112 "size_optimizations.rst", 113 "style/bazel.rst", 114 "style/cli.rst", 115 "style/commit_message.rst", 116 "style/cpp.rst", 117 "style/doxygen.rst", 118 "style/protobuf.rst", 119 "style/python.rst", 120 "style/rest.rst", 121 "style/writing.rst", 122 "style_guide.rst", 123 ] 124} 125 126# Documentation for upstream Pigweed targets. 127group("target_docs") { 128 deps = [ 129 "$dir_pigweed/targets/android:target_docs", 130 "$dir_pigweed/targets/apollo4:target_docs", 131 "$dir_pigweed/targets/apollo4_pw_system:target_docs", 132 "$dir_pigweed/targets/arduino:target_docs", 133 "$dir_pigweed/targets/docs:target_docs", 134 "$dir_pigweed/targets/emcraft_sf2_som:docs", 135 "$dir_pigweed/targets/host:target_docs", 136 "$dir_pigweed/targets/host_device_simulator:target_docs", 137 "$dir_pigweed/targets/lm3s6965evb_qemu:target_docs", 138 "$dir_pigweed/targets/mimxrt595_evk:target_docs", 139 "$dir_pigweed/targets/mimxrt595_evk_freertos:target_docs", 140 "$dir_pigweed/targets/rp2040:target_docs", 141 "$dir_pigweed/targets/stm32f429i_disc1:target_docs", 142 "$dir_pigweed/targets/stm32f429i_disc1_stm32cube:target_docs", 143 ] 144} 145 146group("module_docs") { 147 deps = pw_module_docs 148} 149 150group("third_party_docs") { 151 deps = [ 152 "$dir_pigweed/third_party/abseil-cpp:docs", 153 "$dir_pigweed/third_party/boringssl:docs", 154 "$dir_pigweed/third_party/emboss:docs", 155 "$dir_pigweed/third_party/freertos:docs", 156 "$dir_pigweed/third_party/fuchsia:docs", 157 "$dir_pigweed/third_party/fuzztest:docs", 158 "$dir_pigweed/third_party/googletest:docs", 159 "$dir_pigweed/third_party/nanopb:docs", 160 "$dir_pigweed/third_party/perfetto:docs", 161 "$dir_pigweed/third_party/re2:docs", 162 "$dir_pigweed/third_party/tinyusb:docs", 163 ] 164} 165 166# All sources with doxygen comment blocks. 167_doxygen_input_files = [ # keep-sorted: start 168 "$dir_pw_alignment/public/pw_alignment/alignment.h", 169 "$dir_pw_allocator/block/public/pw_allocator/block/alignable.h", 170 "$dir_pw_allocator/block/public/pw_allocator/block/allocatable.h", 171 "$dir_pw_allocator/block/public/pw_allocator/block/basic.h", 172 "$dir_pw_allocator/block/public/pw_allocator/block/contiguous.h", 173 "$dir_pw_allocator/block/public/pw_allocator/block/detailed_block.h", 174 "$dir_pw_allocator/block/public/pw_allocator/block/iterable.h", 175 "$dir_pw_allocator/block/public/pw_allocator/block/poisonable.h", 176 "$dir_pw_allocator/block/public/pw_allocator/block/result.h", 177 "$dir_pw_allocator/block/public/pw_allocator/block/small_alignable_block.h", 178 "$dir_pw_allocator/block/public/pw_allocator/block/small_block.h", 179 "$dir_pw_allocator/block/public/pw_allocator/block/tiny_block.h", 180 "$dir_pw_allocator/block/public/pw_allocator/block/with_layout.h", 181 "$dir_pw_allocator/bucket/public/pw_allocator/bucket/base.h", 182 "$dir_pw_allocator/bucket/public/pw_allocator/bucket/fast_sorted.h", 183 "$dir_pw_allocator/bucket/public/pw_allocator/bucket/sequenced.h", 184 "$dir_pw_allocator/bucket/public/pw_allocator/bucket/sorted.h", 185 "$dir_pw_allocator/bucket/public/pw_allocator/bucket/unordered.h", 186 "$dir_pw_allocator/public/pw_allocator/allocator.h", 187 "$dir_pw_allocator/public/pw_allocator/allocator_as_pool.h", 188 "$dir_pw_allocator/public/pw_allocator/best_fit.h", 189 "$dir_pw_allocator/public/pw_allocator/block_allocator.h", 190 "$dir_pw_allocator/public/pw_allocator/bucket_allocator.h", 191 "$dir_pw_allocator/public/pw_allocator/buddy_allocator.h", 192 "$dir_pw_allocator/public/pw_allocator/buffer.h", 193 "$dir_pw_allocator/public/pw_allocator/bump_allocator.h", 194 "$dir_pw_allocator/public/pw_allocator/capability.h", 195 "$dir_pw_allocator/public/pw_allocator/chunk_pool.h", 196 "$dir_pw_allocator/public/pw_allocator/config.h", 197 "$dir_pw_allocator/public/pw_allocator/deallocator.h", 198 "$dir_pw_allocator/public/pw_allocator/dl_allocator.h", 199 "$dir_pw_allocator/public/pw_allocator/fallback_allocator.h", 200 "$dir_pw_allocator/public/pw_allocator/first_fit.h", 201 "$dir_pw_allocator/public/pw_allocator/fragmentation.h", 202 "$dir_pw_allocator/public/pw_allocator/fuzzing.h", 203 "$dir_pw_allocator/public/pw_allocator/layout.h", 204 "$dir_pw_allocator/public/pw_allocator/libc_allocator.h", 205 "$dir_pw_allocator/public/pw_allocator/metrics.h", 206 "$dir_pw_allocator/public/pw_allocator/null_allocator.h", 207 "$dir_pw_allocator/public/pw_allocator/pmr_allocator.h", 208 "$dir_pw_allocator/public/pw_allocator/pool.h", 209 "$dir_pw_allocator/public/pw_allocator/synchronized_allocator.h", 210 "$dir_pw_allocator/public/pw_allocator/test_harness.h", 211 "$dir_pw_allocator/public/pw_allocator/testing.h", 212 "$dir_pw_allocator/public/pw_allocator/tlsf_allocator.h", 213 "$dir_pw_allocator/public/pw_allocator/tracking_allocator.h", 214 "$dir_pw_allocator/public/pw_allocator/typed_pool.h", 215 "$dir_pw_allocator/public/pw_allocator/unique_ptr.h", 216 "$dir_pw_allocator/public/pw_allocator/worst_fit.h", 217 "$dir_pw_allocator/size_report/public/pw_allocator/size_report/size_report.h", 218 "$dir_pw_analog/public/pw_analog/analog_input.h", 219 "$dir_pw_analog/public/pw_analog/microvolt_input.h", 220 "$dir_pw_async/public/pw_async/context.h", 221 "$dir_pw_async/public/pw_async/dispatcher.h", 222 "$dir_pw_async/public/pw_async/fake_dispatcher_fixture.h", 223 "$dir_pw_async/public/pw_async/function_dispatcher.h", 224 "$dir_pw_async/public/pw_async/heap_dispatcher.h", 225 "$dir_pw_async/public/pw_async/task.h", 226 "$dir_pw_async/public/pw_async/task_function.h", 227 "$dir_pw_async2/public/pw_async2/allocate_task.h", 228 "$dir_pw_async2/public/pw_async2/coro.h", 229 "$dir_pw_async2/public/pw_async2/coro_or_else_task.h", 230 "$dir_pw_async2/public/pw_async2/dispatcher.h", 231 "$dir_pw_async2/public/pw_async2/dispatcher_base.h", 232 "$dir_pw_async2/public/pw_async2/enqueue_heap_func.h", 233 "$dir_pw_async2/public/pw_async2/join.h", 234 "$dir_pw_async2/public/pw_async2/once_sender.h", 235 "$dir_pw_async2/public/pw_async2/pend_func_awaitable.h", 236 "$dir_pw_async2/public/pw_async2/pend_func_task.h", 237 "$dir_pw_async2/public/pw_async2/pendable_as_task.h", 238 "$dir_pw_async2/public/pw_async2/poll.h", 239 "$dir_pw_async2/public/pw_async2/simulated_time_provider.h", 240 "$dir_pw_async2/public/pw_async2/system_time_provider.h", 241 "$dir_pw_async2/public/pw_async2/time_provider.h", 242 "$dir_pw_async2_basic/public_overrides/pw_async2/dispatcher_native.h", 243 "$dir_pw_async_basic/public/pw_async_basic/dispatcher.h", 244 "$dir_pw_base64/public/pw_base64/base64.h", 245 "$dir_pw_bloat/public/pw_bloat/bloat_this_binary.h", 246 "$dir_pw_bluetooth/public/pw_bluetooth/controller2.h", 247 "$dir_pw_bluetooth/public/pw_bluetooth/gatt/client2.h", 248 "$dir_pw_bluetooth/public/pw_bluetooth/gatt/server2.h", 249 "$dir_pw_bluetooth/public/pw_bluetooth/low_energy/central2.h", 250 "$dir_pw_bluetooth/public/pw_bluetooth/low_energy/channel.h", 251 "$dir_pw_bluetooth/public/pw_bluetooth/low_energy/connection2.h", 252 "$dir_pw_bluetooth/public/pw_bluetooth/low_energy/peripheral2.h", 253 "$dir_pw_bluetooth_proxy/public/pw_bluetooth_proxy/h4_packet.h", 254 "$dir_pw_bluetooth_proxy/public/pw_bluetooth_proxy/proxy_host.h", 255 "$dir_pw_bluetooth_sapphire/public/pw_bluetooth_sapphire/central.h", 256 "$dir_pw_bluetooth_sapphire/public/pw_bluetooth_sapphire/fake_lease_provider.h", 257 "$dir_pw_bluetooth_sapphire/public/pw_bluetooth_sapphire/lease.h", 258 "$dir_pw_bluetooth_sapphire/public/pw_bluetooth_sapphire/null_lease_provider.h", 259 "$dir_pw_bluetooth_sapphire/public/pw_bluetooth_sapphire/peripheral.h", 260 "$dir_pw_bluetooth_sapphire/public/pw_bluetooth_sapphire/power_delegate.h", 261 "$dir_pw_build/public/pw_build/linker_symbol.h", 262 "$dir_pw_build/public/pw_build/must_place.ld.h", 263 "$dir_pw_bytes/public/pw_bytes/alignment.h", 264 "$dir_pw_bytes/public/pw_bytes/bit.h", 265 "$dir_pw_bytes/public/pw_bytes/byte_builder.h", 266 "$dir_pw_bytes/public/pw_bytes/packed_ptr.h", 267 "$dir_pw_channel/public/pw_channel/channel.h", 268 "$dir_pw_channel/public/pw_channel/epoll_channel.h", 269 "$dir_pw_channel/public/pw_channel/forwarding_channel.h", 270 "$dir_pw_channel/public/pw_channel/loopback_channel.h", 271 "$dir_pw_channel/public/pw_channel/rp2_stdio_channel.h", 272 "$dir_pw_channel/public/pw_channel/stream_channel.h", 273 "$dir_pw_chre/public/pw_chre/chre.h", 274 "$dir_pw_chre/public/pw_chre/host_link.h", 275 "$dir_pw_chrono/public/pw_chrono/simulated_system_clock.h", 276 "$dir_pw_chrono/public/pw_chrono/system_clock.h", 277 "$dir_pw_chrono/public/pw_chrono/system_timer.h", 278 "$dir_pw_chrono/public/pw_chrono/virtual_clock.h", 279 "$dir_pw_clock_tree/public/pw_clock_tree/clock_tree.h", 280 "$dir_pw_clock_tree_mcuxpresso/public/pw_clock_tree_mcuxpresso/clock_tree.h", 281 "$dir_pw_containers/public/pw_containers/algorithm.h", 282 "$dir_pw_containers/public/pw_containers/filtered_view.h", 283 "$dir_pw_containers/public/pw_containers/inline_deque.h", 284 "$dir_pw_containers/public/pw_containers/inline_queue.h", 285 "$dir_pw_containers/public/pw_containers/inline_var_len_entry_queue.h", 286 "$dir_pw_containers/public/pw_containers/internal/aa_tree.h", 287 "$dir_pw_containers/public/pw_containers/internal/intrusive_list.h", 288 "$dir_pw_containers/public/pw_containers/intrusive_forward_list.h", 289 "$dir_pw_containers/public/pw_containers/intrusive_list.h", 290 "$dir_pw_containers/public/pw_containers/intrusive_map.h", 291 "$dir_pw_containers/public/pw_containers/intrusive_multimap.h", 292 "$dir_pw_containers/public/pw_containers/intrusive_multiset.h", 293 "$dir_pw_containers/public/pw_containers/intrusive_set.h", 294 "$dir_pw_containers/public/pw_containers/vector.h", 295 "$dir_pw_crypto/public/pw_crypto/aes.h", 296 "$dir_pw_crypto/public/pw_crypto/ecdsa.h", 297 "$dir_pw_crypto/public/pw_crypto/sha256.h", 298 "$dir_pw_digital_io/public/pw_digital_io/digital_io.h", 299 "$dir_pw_digital_io/public/pw_digital_io/digital_io_mock.h", 300 "$dir_pw_digital_io_mcuxpresso/public/pw_digital_io_mcuxpresso/digital_io.h", 301 "$dir_pw_digital_io_mcuxpresso/public/pw_digital_io_mcuxpresso/pint.h", 302 "$dir_pw_display/public/pw_display/color.h", 303 "$dir_pw_elf/public/pw_elf/reader.h", 304 "$dir_pw_function/public/pw_function/function.h", 305 "$dir_pw_function/public/pw_function/pointer.h", 306 "$dir_pw_function/public/pw_function/scope_guard.h", 307 "$dir_pw_hdlc/public/pw_hdlc/decoder.h", 308 "$dir_pw_hdlc/public/pw_hdlc/encoder.h", 309 "$dir_pw_hdlc/public/pw_hdlc/router.h", 310 "$dir_pw_hex_dump/public/pw_hex_dump/hex_dump.h", 311 "$dir_pw_hex_dump/public/pw_hex_dump/log_bytes.h", 312 "$dir_pw_i2c/public/pw_i2c/address.h", 313 "$dir_pw_i2c/public/pw_i2c/device.h", 314 "$dir_pw_i2c/public/pw_i2c/i2c_service.h", 315 "$dir_pw_i2c/public/pw_i2c/initiator.h", 316 "$dir_pw_i2c/public/pw_i2c/initiator_gmock.h", 317 "$dir_pw_i2c/public/pw_i2c/initiator_mock.h", 318 "$dir_pw_i2c/public/pw_i2c/register_device.h", 319 "$dir_pw_i2c_linux/public/pw_i2c_linux/initiator.h", 320 "$dir_pw_interrupt/public/pw_interrupt/context.h", 321 "$dir_pw_json/public/pw_json/builder.h", 322 "$dir_pw_kvs/public/pw_kvs/key_value_store.h", 323 "$dir_pw_kvs/pw_kvs_private/config.h", 324 "$dir_pw_log/public/pw_log/tokenized_args.h", 325 "$dir_pw_log_string/public/pw_log_string/handler.h", 326 "$dir_pw_log_tokenized/public/pw_log_tokenized/base64.h", 327 "$dir_pw_log_tokenized/public/pw_log_tokenized/config.h", 328 "$dir_pw_log_tokenized/public/pw_log_tokenized/handler.h", 329 "$dir_pw_log_tokenized/public/pw_log_tokenized/metadata.h", 330 "$dir_pw_malloc/public/pw_malloc/config.h", 331 "$dir_pw_malloc/public/pw_malloc/malloc.h", 332 "$dir_pw_multibuf/public/pw_multibuf/allocator.h", 333 "$dir_pw_multibuf/public/pw_multibuf/allocator_async.h", 334 "$dir_pw_multibuf/public/pw_multibuf/chunk.h", 335 "$dir_pw_multibuf/public/pw_multibuf/from_span.h", 336 "$dir_pw_multibuf/public/pw_multibuf/header_chunk_region_tracker.h", 337 "$dir_pw_multibuf/public/pw_multibuf/multibuf.h", 338 "$dir_pw_multibuf/public/pw_multibuf/simple_allocator.h", 339 "$dir_pw_multibuf/public/pw_multibuf/simple_allocator_for_test.h", 340 "$dir_pw_multibuf/public/pw_multibuf/single_chunk_region_tracker.h", 341 "$dir_pw_multibuf/public/pw_multibuf/stream.h", 342 "$dir_pw_numeric/public/pw_numeric/checked_arithmetic.h", 343 "$dir_pw_numeric/public/pw_numeric/integer_division.h", 344 "$dir_pw_perf_test/public/pw_perf_test/event_handler.h", 345 "$dir_pw_perf_test/public/pw_perf_test/perf_test.h", 346 "$dir_pw_polyfill/public/pw_polyfill/language_feature_macros.h", 347 "$dir_pw_polyfill/public/pw_polyfill/standard.h", 348 "$dir_pw_preprocessor/public/pw_preprocessor/apply.h", 349 "$dir_pw_preprocessor/public/pw_preprocessor/compiler.h", 350 "$dir_pw_protobuf/public/pw_protobuf/find.h", 351 "$dir_pw_random/public/pw_random/random.h", 352 "$dir_pw_random/public/pw_random/xor_shift.h", 353 "$dir_pw_rpc/public/pw_rpc/channel.h", 354 "$dir_pw_rpc/public/pw_rpc/internal/config.h", 355 "$dir_pw_rpc/public/pw_rpc/synchronous_call.h", 356 "$dir_pw_span/public/pw_span/cast.h", 357 "$dir_pw_span/public/pw_span/internal/config.h", 358 "$dir_pw_spi/public/pw_spi/chip_selector.h", 359 "$dir_pw_spi/public/pw_spi/chip_selector_digital_out.h", 360 "$dir_pw_status/public/pw_status/status.h", 361 "$dir_pw_status/public/pw_status/status_with_size.h", 362 "$dir_pw_status/public/pw_status/try.h", 363 "$dir_pw_stream/public/pw_stream/stream.h", 364 "$dir_pw_stream_uart_linux/public/pw_stream_uart_linux/stream.h", 365 "$dir_pw_string/public/pw_string/format.h", 366 "$dir_pw_string/public/pw_string/string.h", 367 "$dir_pw_string/public/pw_string/string_builder.h", 368 "$dir_pw_string/public/pw_string/utf_codecs.h", 369 "$dir_pw_string/public/pw_string/util.h", 370 "$dir_pw_sync/public/pw_sync/binary_semaphore.h", 371 "$dir_pw_sync/public/pw_sync/borrow.h", 372 "$dir_pw_sync/public/pw_sync/counting_semaphore.h", 373 "$dir_pw_sync/public/pw_sync/inline_borrowable.h", 374 "$dir_pw_sync/public/pw_sync/interrupt_spin_lock.h", 375 "$dir_pw_sync/public/pw_sync/lock_annotations.h", 376 "$dir_pw_sync/public/pw_sync/mutex.h", 377 "$dir_pw_sync/public/pw_sync/thread_notification.h", 378 "$dir_pw_sync/public/pw_sync/timed_borrow.h", 379 "$dir_pw_sync/public/pw_sync/timed_mutex.h", 380 "$dir_pw_sync/public/pw_sync/timed_thread_notification.h", 381 "$dir_pw_sync/public/pw_sync/virtual_basic_lockable.h", 382 "$dir_pw_sys_io/public/pw_sys_io/sys_io.h", 383 "$dir_pw_system/public/pw_system/system.h", 384 "$dir_pw_third_party/freertos/pw_assert_stack_overflow_hook.cc", 385 "$dir_pw_third_party/freertos/static_task_allocation.cc", 386 "$dir_pw_thread/public/pw_thread/attrs.h", 387 "$dir_pw_thread/public/pw_thread/context.h", 388 "$dir_pw_thread/public/pw_thread/internal/priority.h", 389 "$dir_pw_thread/public/pw_thread/options.h", 390 "$dir_pw_thread/public/pw_thread/priority.h", 391 "$dir_pw_thread/public/pw_thread/stack.h", 392 "$dir_pw_thread/public/pw_thread/test_thread_context.h", 393 "$dir_pw_thread/public/pw_thread/thread.h", 394 "$dir_pw_tokenizer/public/pw_tokenizer/config.h", 395 "$dir_pw_tokenizer/public/pw_tokenizer/detokenize.h", 396 "$dir_pw_tokenizer/public/pw_tokenizer/encode_args.h", 397 "$dir_pw_tokenizer/public/pw_tokenizer/enum.h", 398 "$dir_pw_tokenizer/public/pw_tokenizer/nested_tokenization.h", 399 "$dir_pw_tokenizer/public/pw_tokenizer/token_database.h", 400 "$dir_pw_tokenizer/public/pw_tokenizer/tokenize.h", 401 "$dir_pw_toolchain/public/pw_toolchain/constexpr_tag.h", 402 "$dir_pw_toolchain/public/pw_toolchain/globals.h", 403 "$dir_pw_toolchain/public/pw_toolchain/infinite_loop.h", 404 "$dir_pw_toolchain/public/pw_toolchain/no_destructor.h", 405 "$dir_pw_transfer/public/pw_transfer/atomic_file_transfer_handler.h", 406 "$dir_pw_uart/public/pw_uart/blocking_adapter.h", 407 "$dir_pw_uart/public/pw_uart/stream.h", 408 "$dir_pw_uart/public/pw_uart/uart.h", 409 "$dir_pw_uart/public/pw_uart/uart_base.h", 410 "$dir_pw_uart/public/pw_uart/uart_non_blocking.h", 411 "$dir_pw_unit_test/light_public_overrides/pw_unit_test/framework_backend.h", 412 "$dir_pw_unit_test/public/pw_unit_test/config.h", 413 "$dir_pw_unit_test/public/pw_unit_test/constexpr.h", 414 "$dir_pw_unit_test/public/pw_unit_test/event_handler.h", 415 "$dir_pw_unit_test/public/pw_unit_test/googletest_handler_adapter.h", 416 "$dir_pw_unit_test/public/pw_unit_test/googletest_style_event_handler.h", 417 "$dir_pw_unit_test/public/pw_unit_test/logging_event_handler.h", 418 "$dir_pw_unit_test/public/pw_unit_test/multi_event_handler.h", 419 "$dir_pw_unit_test/public/pw_unit_test/printf_event_handler.h", 420 "$dir_pw_unit_test/public/pw_unit_test/simple_printing_event_handler.h", 421 "$dir_pw_unit_test/public/pw_unit_test/static_library_support.h", 422 "$dir_pw_unit_test/public/pw_unit_test/status_macros.h", 423 "$dir_pw_unit_test/public/pw_unit_test/test_record_event_handler.h", 424 "$dir_pw_varint/public/pw_varint/stream.h", 425 "$dir_pw_varint/public/pw_varint/varint.h", 426 "$dir_pw_work_queue/public/pw_work_queue/work_queue.h", 427] # keep-sorted: end 428 429pw_python_action("generate_doxygen") { 430 _output_dir = "docs/doxygen" 431 script = "run_doxygen.py" 432 inputs = [ 433 "//PIGWEED_MODULES", 434 "Doxyfile", 435 ] 436 inputs += _doxygen_input_files 437 args = [ 438 "--gn-root", 439 rebase_path("//", root_build_dir), 440 "--pigweed-modules-file", 441 rebase_path("//PIGWEED_MODULES", root_build_dir), 442 "--output-dir", 443 _output_dir, 444 "--doxygen-config", 445 rebase_path("Doxyfile", root_build_dir), 446 "--include-paths", 447 ] 448 args += rebase_path(_doxygen_input_files, root_build_dir) 449 outputs = [ 450 "$root_build_dir/$_output_dir/html/index.html", 451 "$root_build_dir/$_output_dir/xml/index.xml", 452 ] 453} 454 455pw_doc_gen("docs") { 456 conf = "conf.py" 457 sources = [ 458 # Note: These must use the "docs" prefix for links and image references. In 459 # contrast, the pw_doc_group above should not use the docs prefix. 460 "automated_analysis.rst", 461 "bazel_compatibility.rst", 462 "build_system.rst", 463 "changelog.rst", 464 "index.rst", 465 "modules.rst", 466 "python_build.rst", 467 468 # TODO: b/388905813 - Delete this file. 469 "size_report_notice", 470 "targets.rst", 471 "third_party_support.rst", 472 "toolchain.rst", 473 ] 474 output_directory = target_gen_dir 475 deps = [ 476 ":core_docs", 477 ":generate_doxygen", 478 ":module_docs", 479 ":static_assets", 480 ":target_docs", 481 ":third_party_docs", 482 "$dir_pigweed/kudzu:docs", 483 "$dir_pigweed/seed:docs", 484 ] 485 486 # Extra Python deps are required to set the PYTHONPATH so 487 # automodule, autoclass or autofunction RST directives work in 488 # sphinx. 489 python_deps = [ "$dir_pw_env_setup:core_pigweed_python_packages" ] 490} 491