I'm working on documenting a large library of code (ANSI C, not C++), and have a platform-specific header for each of my target devices (various embedded devices and Win32).
I'd like to document the typedefs and macros those headers need to define, and I thought it'd work just fine after reading the Documentation at other places section of the Doxygen manual. I added the documentation to a common platform.h
file that #includes the target's platform header.
My target platform headers (like platform_win32.h
for example) include @file
markup, and appear as expected in the file list. When I click the file, it displays a list of typedefs and macros, but it only shows descriptions for the ones that are unique to that header. Any macros/types that appear in multiple headers aren't documented.
Any ideas on what I can do about that? I'd really like the descriptions to appear in multiple files. Is this some sort of namespace issue?
EDIT (info for Jens):
Here's the crazy thing -- I have two macros documented side-by-side in platform.h
. The one that appears in platform_foo.h
shows up in the list of globals, but the one that appears in platform_win32.h
and platform_bar.h
doesn't appear in the list.
None of the macro documentation appears in the platform.h
file view, which makes sense since the macros and typedefs aren't used in that file -- it just holds the documentation.
Interesting: I just grepped the HTML help and it is listed in globals_0x78.html
(0x78 = 'x', the first letter of the macro name). I now think it might have something to do with namespaces. Looking at the HTML source of a file, I see it listed as group_name::MACRO_NAME
.
Will explore later -- time for another meeting.