@@ -18,7 +18,7 @@ PICO_SDK_DIR = lib/pico-sdk
18
18
PICO_EXAMPLES_DIR = lib/pico-examples
19
19
ALL_SUBMODULE_CMAKELISTS = $(PICO_SDK_DIR ) /CMakeLists.txt $(PICO_EXAMPLES_DIR ) /CMakeLists.txt
20
20
DOXYGEN_PICO_SDK_BUILD_DIR = build-pico-sdk-docs
21
- DOXYGEN_HTML_DIR = $(DOXYGEN_PICO_SDK_BUILD_DIR ) /docs/doxygen/html
21
+ DOXYGEN_XML_DIR = $(DOXYGEN_PICO_SDK_BUILD_DIR ) /combined/ docs/doxygen/xml
22
22
# The pico-sdk here needs to match up with the "from_json" entry in index.json
23
23
ASCIIDOC_DOXYGEN_DIR = $(ASCIIDOC_DIR ) /pico-sdk
24
24
@@ -50,33 +50,42 @@ $(PICO_SDK_DIR)/CMakeLists.txt $(PICO_SDK_DIR)/docs/index.h: | $(PICO_SDK_DIR)
50
50
$(PICO_EXAMPLES_DIR ) /CMakeLists.txt : | $(PICO_SDK_DIR ) /CMakeLists.txt $(PICO_EXAMPLES_DIR )
51
51
git submodule update --init $(PICO_EXAMPLES_DIR )
52
52
53
+ # Initialise doxygentoasciidoc submodule
54
+ doxygentoasciidoc/__main__.py :
55
+ git submodule update --init doxygentoasciidoc
56
+
53
57
fetch_submodules : $(ALL_SUBMODULE_CMAKELISTS )
54
58
55
59
# Get rid of the submodules
56
60
clean_submodules :
57
61
git submodule deinit --all
58
62
59
- # Create the pico-sdk Doxygen HTML files
60
- $(DOXYGEN_HTML_DIR ) : | $(ALL_SUBMODULE_CMAKELISTS ) $(DOXYGEN_PICO_SDK_BUILD_DIR )
61
- cmake -S $(PICO_SDK_DIR ) -B $(DOXYGEN_PICO_SDK_BUILD_DIR ) -DPICO_EXAMPLES_PATH=../$(PICO_EXAMPLES_DIR )
62
- $(MAKE ) -C $(DOXYGEN_PICO_SDK_BUILD_DIR ) docs
63
- test -d " $@ "
63
+ # Create the pico-sdk Doxygen XML files
64
+ $(DOXYGEN_XML_DIR ) $(DOXYGEN_XML_DIR ) /index.xml : | $(ALL_SUBMODULE_CMAKELISTS ) $(DOXYGEN_PICO_SDK_BUILD_DIR )
65
+ cmake -S $(PICO_SDK_DIR ) -B $(DOXYGEN_PICO_SDK_BUILD_DIR ) /combined -D PICO_EXAMPLES_PATH=../$(PICO_EXAMPLES_DIR ) -D PICO_PLATFORM=combined-docs
66
+ cmake -S $(PICO_SDK_DIR ) -B $(DOXYGEN_PICO_SDK_BUILD_DIR ) /PICO_RP2040 -D PICO_EXAMPLES_PATH=../$(PICO_EXAMPLES_DIR ) -D PICO_PLATFORM=rp2040
67
+ cmake -S $(PICO_SDK_DIR ) -B $(DOXYGEN_PICO_SDK_BUILD_DIR ) /PICO_RP2350 -D PICO_EXAMPLES_PATH=../$(PICO_EXAMPLES_DIR ) -D PICO_PLATFORM=rp2350
68
+ $(MAKE ) -C $(DOXYGEN_PICO_SDK_BUILD_DIR ) /combined docs
69
+ $(MAKE ) -C $(DOXYGEN_PICO_SDK_BUILD_DIR ) /PICO_RP2040 docs
70
+ $(MAKE ) -C $(DOXYGEN_PICO_SDK_BUILD_DIR ) /PICO_RP2350 docs
71
+ python3 $(SCRIPTS_DIR ) /postprocess_doxygen_xml.py $(DOXYGEN_PICO_SDK_BUILD_DIR )
64
72
65
- $(DOXYGEN_PICO_SDK_BUILD_DIR ) /docs/Doxyfile : | $(DOXYGEN_HTML_DIR )
73
+ $(DOXYGEN_PICO_SDK_BUILD_DIR ) /combined/ docs/Doxyfile : | $(DOXYGEN_XML_DIR )
66
74
67
- build_doxygen_html : | $(DOXYGEN_HTML_DIR )
75
+ build_doxygen_xml : | $(DOXYGEN_XML_DIR )
68
76
69
77
# Clean all the Doxygen HTML files
70
- clean_doxygen_html :
78
+ clean_doxygen_xml :
71
79
rm -rf $(DOXYGEN_PICO_SDK_BUILD_DIR )
72
80
73
- # Create the Doxygen asciidoc files
74
- # Also need to move index.adoc to a different name, because it conflicts with the autogenerated index.adoc
75
- $(ASCIIDOC_DOXYGEN_DIR ) /picosdk_index.json $(ASCIIDOC_DOXYGEN_DIR ) /index_doxygen.adoc : $(SCRIPTS_DIR ) /transform_doxygen_html.py $(PICO_SDK_DIR ) /docs/index.h $(DOXYGEN_PICO_SDK_BUILD_DIR ) /docs/Doxyfile | $(DOXYGEN_HTML_DIR ) $(ASCIIDOC_DOXYGEN_DIR )
81
+ # create the sdk adoc and the json file
82
+ $(ASCIIDOC_DOXYGEN_DIR ) /picosdk_index.json $(ASCIIDOC_DOXYGEN_DIR ) /index_doxygen.adoc : $(ASCIIDOC_DOXYGEN_DIR ) $(DOXYGEN_XML_DIR ) /index.xml doxygentoasciidoc/__main__.py doxygentoasciidoc/cli.py doxygentoasciidoc/nodes.py doxygentoasciidoc/helpers.py | $(BUILD_DIR )
76
83
$(MAKE ) clean_ninja
77
- $< $(DOXYGEN_HTML_DIR ) $(ASCIIDOC_DOXYGEN_DIR ) $(PICO_SDK_DIR ) /docs/index.h $(ASCIIDOC_DOXYGEN_DIR ) /picosdk_index.json
78
- cp $(DOXYGEN_HTML_DIR ) /* .png $(ASCIIDOC_DOXYGEN_DIR )
79
- mv $(ASCIIDOC_DOXYGEN_DIR ) /index.adoc $(ASCIIDOC_DOXYGEN_DIR ) /index_doxygen.adoc
84
+ python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR ) /index.xml > $(ASCIIDOC_DOXYGEN_DIR ) /all_groups.adoc
85
+ python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR ) /indexpage.xml -c > $(ASCIIDOC_DOXYGEN_DIR ) /index_doxygen.adoc
86
+ python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR ) /examples_page.xml -c > $(ASCIIDOC_DOXYGEN_DIR ) /examples_page.adoc
87
+ python3 $(SCRIPTS_DIR ) /postprocess_doxygen_adoc.py $(ASCIIDOC_DOXYGEN_DIR )
88
+ -cp $(DOXYGEN_XML_DIR ) /* .png $(ASCIIDOC_DOXYGEN_DIR )
80
89
81
90
build_doxygen_adoc : $(ASCIIDOC_DOXYGEN_DIR ) /index_doxygen.adoc
82
91
0 commit comments