@@ -16,6 +16,7 @@ AUTO_NINJABUILD = $(BUILD_DIR)/autogenerated.ninja
16
16
17
17
PICO_SDK_DIR = lib/pico-sdk
18
18
PICO_EXAMPLES_DIR = lib/pico-examples
19
+ DOXYGEN_TO_ASCIIDOC_DIR = lib/doxygentoasciidoc
19
20
ALL_SUBMODULE_CMAKELISTS = $(PICO_SDK_DIR ) /CMakeLists.txt $(PICO_EXAMPLES_DIR ) /CMakeLists.txt
20
21
DOXYGEN_PICO_SDK_BUILD_DIR = build-pico-sdk-docs
21
22
DOXYGEN_XML_DIR = $(DOXYGEN_PICO_SDK_BUILD_DIR ) /combined/docs/doxygen/xml
@@ -26,7 +27,7 @@ JEKYLL_CMD = bundle exec jekyll
26
27
27
28
.DEFAULT_GOAL := html
28
29
29
- .PHONY : clean run_ninja clean_ninja html serve_html clean_html build_doxygen_html clean_doxygen_html build_doxygen_adoc clean_doxygen_adoc fetch_submodules clean_submodules clean_everything
30
+ .PHONY : clean run_ninja clean_ninja html serve_html clean_html build_doxygen_xml clean_doxygen_xml build_doxygen_adoc clean_doxygen_adoc fetch_submodules clean_submodules clean_everything
30
31
31
32
$(BUILD_DIR ) :
32
33
@mkdir -p $@
@@ -51,20 +52,20 @@ $(PICO_EXAMPLES_DIR)/CMakeLists.txt: | $(PICO_SDK_DIR)/CMakeLists.txt $(PICO_EXA
51
52
git submodule update --init $(PICO_EXAMPLES_DIR )
52
53
53
54
# Initialise doxygentoasciidoc submodule
54
- doxygentoasciidoc /__main__.py :
55
- git submodule update --init doxygentoasciidoc
55
+ $( DOXYGEN_TO_ASCIIDOC_DIR ) /__main__.py :
56
+ git submodule update --init $( DOXYGEN_TO_ASCIIDOC_DIR )
56
57
57
- fetch_submodules : $(ALL_SUBMODULE_CMAKELISTS )
58
+ fetch_submodules : $(ALL_SUBMODULE_CMAKELISTS ) $( DOXYGEN_TO_ASCIIDOC_DIR ) /__main__.py
58
59
59
60
# Get rid of the submodules
60
61
clean_submodules :
61
62
git submodule deinit --all
62
63
63
64
# Create the pico-sdk Doxygen XML files
64
65
$(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
66
+ cmake -S $(PICO_SDK_DIR ) -B $(DOXYGEN_PICO_SDK_BUILD_DIR ) /combined -D PICO_EXAMPLES_PATH=../../ $(PICO_EXAMPLES_DIR ) -D PICO_NO_PICOTOOL=1 -D PICO_PLATFORM=combined-docs
67
+ cmake -S $(PICO_SDK_DIR ) -B $(DOXYGEN_PICO_SDK_BUILD_DIR ) /PICO_RP2040 -D PICO_EXAMPLES_PATH=../../ $(PICO_EXAMPLES_DIR ) -D PICO_NO_PICOTOOL=1 -D PICO_PLATFORM=rp2040
68
+ cmake -S $(PICO_SDK_DIR ) -B $(DOXYGEN_PICO_SDK_BUILD_DIR ) /PICO_RP2350 -D PICO_EXAMPLES_PATH=../../ $(PICO_EXAMPLES_DIR ) -D PICO_NO_PICOTOOL=1 -D PICO_PLATFORM=rp2350
68
69
$(MAKE ) -C $(DOXYGEN_PICO_SDK_BUILD_DIR ) /combined docs
69
70
$(MAKE ) -C $(DOXYGEN_PICO_SDK_BUILD_DIR ) /PICO_RP2040 docs
70
71
$(MAKE ) -C $(DOXYGEN_PICO_SDK_BUILD_DIR ) /PICO_RP2350 docs
@@ -79,13 +80,14 @@ clean_doxygen_xml:
79
80
rm -rf $(DOXYGEN_PICO_SDK_BUILD_DIR )
80
81
81
82
# 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 )
83
+ $(ASCIIDOC_DOXYGEN_DIR ) /picosdk_index.json $(ASCIIDOC_DOXYGEN_DIR ) /index_doxygen.adoc : $(ASCIIDOC_DOXYGEN_DIR ) $(DOXYGEN_XML_DIR ) /index.xml $( DOXYGEN_TO_ASCIIDOC_DIR ) /__main__.py $( DOXYGEN_TO_ASCIIDOC_DIR ) /cli.py $( DOXYGEN_TO_ASCIIDOC_DIR ) /nodes.py $( DOXYGEN_TO_ASCIIDOC_DIR ) /helpers.py | $(BUILD_DIR ) $( DOXYGEN_TO_ASCIIDOC_DIR ) /requirements.txt
83
84
$(MAKE ) clean_ninja
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
85
+ pip3 install -r $(DOXYGEN_TO_ASCIIDOC_DIR ) /requirements.txt
86
+ PYTHONPATH=$(DOXYGEN_TO_ASCIIDOC_DIR ) /.. python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR ) /index.xml -o $(ASCIIDOC_DOXYGEN_DIR ) /all_groups.adoc
87
+ PYTHONPATH=$(DOXYGEN_TO_ASCIIDOC_DIR ) /.. python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR ) /indexpage.xml -c -o $(ASCIIDOC_DOXYGEN_DIR ) /index_doxygen.adoc
88
+ PYTHONPATH=$(DOXYGEN_TO_ASCIIDOC_DIR ) /.. python3 -m doxygentoasciidoc -f $(DOXYGEN_XML_DIR ) /examples_page.xml -c -o $(ASCIIDOC_DOXYGEN_DIR ) /examples_page.adoc
87
89
python3 $(SCRIPTS_DIR ) /postprocess_doxygen_adoc.py $(ASCIIDOC_DOXYGEN_DIR )
88
- -cp $(DOXYGEN_XML_DIR ) /* .png $(ASCIIDOC_DOXYGEN_DIR )
90
+ -cp $(DOXYGEN_XML_DIR ) /* .png $(ASCIIDOC_DOXYGEN_DIR ) 2> /dev/null || true
89
91
90
92
build_doxygen_adoc : $(ASCIIDOC_DOXYGEN_DIR ) /index_doxygen.adoc
91
93
@@ -94,7 +96,7 @@ clean_doxygen_adoc:
94
96
if [ -d $( ASCIIDOC_DOXYGEN_DIR) ]; then $( MAKE) clean_ninja; fi
95
97
rm -rf $(ASCIIDOC_DOXYGEN_DIR )
96
98
97
- clean_everything : clean_submodules clean_doxygen_html clean
99
+ clean_everything : clean_submodules clean_doxygen_xml clean
98
100
99
101
# AUTO_NINJABUILD contains all the parts of the ninjabuild where the rules themselves depend on other files
100
102
$(AUTO_NINJABUILD ) : $(SCRIPTS_DIR ) /create_auto_ninjabuild.py $(DOCUMENTATION_INDEX ) $(SITE_CONFIG ) | $(BUILD_DIR )
0 commit comments