I'm trying to come up with a way to use Doxygen to document pure assembly source files. One way to do it would be to create header files with Doxygen's code blocks and make Doxygen parse that instead of parsing the assembly source.
The problem with this is that I get warning: documented symbol NVMLIB_Close was not declared or defined.
errors and obviously these elements aren't present in the documentation.
So my question is: how do I force Doxygen to include ALL the documented members, even if I can't find them in the code?
I tried looking here, but that says it wasn't possible back in 2006.
The trivial solution of creating dummy function headers is a dealbreaker, I can't have that. It makes the assembly function look like C functions, which they aren't.
I can't see how a filter script would help here either, as the problem is not the ASM syntax, but the lack of at least a prototype. Creating a phony prototype is also not possible (please see comment above).
Doxyfile:
PROJECT_NAME = "Doxygen as an assembly documentation tool"
PROJECT_BRIEF = "Will it work?"
OUTPUT_DIRECTORY = doc_out
INPUT = test.h
GENERATE_TREEVIEW = YES
GENERATE_RTF = NO
GENERATE_LATEX = NO
GENERATE_TAGFILE = tags.txt
OPTIMIZE_OUTPUT_FOR_C = YES
ALIASES += "registermods=\par Register mods^^"
ALIASES += "clockcycles=\par Clock Cycles^^"
ALIASES += "assumptions=\par Assumptions^^"
test.h
/**
* \file test.h
* \brief Simple test
*
* ------------------------------------------------------------------------- */
/**
\fn NVMLIB_Initialize
\brief Initialize the NVM library.
\param[in] b1 SPI speed; use SPI_CLK_PRESCALE_* define
\registermods b1, x1
\assumptions The sources for the SPI interface pads have been configured
\clockcycles Not applicable
*/
/**
\fn NVMLIB_Close
\brief Close the NVM library.
\registermods None
\assumptions None
\clockcycles 6
*/
Also asked in Doxygen: how to document a non-C function using only its documentation block but not the code?, but the solution is to add phony prototypes.
This post is related, but no answer there : Documenting a non-existing member with Doxygen
Thanks!!