If you don't want to create an html file from a source (i.e. if a source is meant to be included from other files and not used directly), you have to tell Cows-mkgen about it with the __NO_OUTPUT__ directive (see Section 6.6.1).
To exclude whole directories you don't need to place this directive in every file: there are two easier ways.
Note: Added in G-Cows 1.7
If a directory contains a file called nooutput (no matter what the content is, can also be an empty file) Cows-mkgen won't create targets for its files (and its subdirectories, if any). So, you can place all the files which are not intended to be used directly in a directory and create a file called nooutput within.
It's equivalent to placing the __NO_OUTPUT__ directive in each file, just faster.
If a directory contains a file called nomkgen (no matter what the content is, can also be an empty file) Cows-mkgen will skip it (and its subdirectories, if any).
It's different from placing noutput file (or the __NO_OUTPUT__ directive in each file): directories with a noutput file will be skipped and their files won't be parsed.
Warning: Since version 1.7 G-Cows provide an optional 'fast' scanning mode. Running cows-mkgen with the '--fast' option raises performances of about one order of magnitude. There is a price to pay: all source files must be parsed in order to get the right dependencies.
The nomkgen option can be used to skip directories with no source files (as an example, I use it on g-cows.org within the directories storing the HTML manual and download area).
On the other hand, directories with library files must be parsed so use nooutput (Section 6.7.1) to exclude these files form output.
You can safely ignore this note if you don't use the 'fast' mode; by the way, following these simple advices will result in a project compatible with both modes.
See Section 6.10 for furhter details about 'fast mode'.
This manual can be downloaded from http://www.g-cows.org/.