tags:

views:

21

answers:

1

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.

A: 

Have you tried using the doxygen preprocessor capabilities?

Sam Miller
How would I use them to accomplish my goals?
tomlogic