`mkid' builds an ID database. It accepts the names of files and/or directories on the command line, selects files that have an enabled scanner, then extracts and stores tokens from those files. The resulting ID database is architecture- and byte-order-independent so it can be shared among all systems.
The primary virtues of `mkid' are speed and high capacity. The size of the source trees it can index is limited only by available system memory. `mkid''s indexing algorithm is very space-efficient and exhibits excellent locality-of-reference, and so is capable of operating with a working-set size that is only half the size of its virtual address space. A typical UNIX-like operating system with 16 megabytes of system memory should be able to build an ID database covering approximately 12,000-14,000 source files totaling approximately 50--100 Megabytes. A 66 MHz 486 computer can build such a large ID database in approximately 10-15 minutes.
In a future release, `mkid' will be able to incrementally update an ID database much faster than it can build one from scratch. Until this feature becomes available, it might be a good idea to schedule a `cron' job to regularly update large ID databases during off-hours.
`mkid' writes the ID file, therefore it accepts the `--output' (and `--file') options as described in section Options for Programs that Write ID Databases. `mkid' extracts tokens from source files, therefore it accepts the `--lang-map', `--include', `--exclude', and `--lang-option' options, as well as the language-specific scanner options, all of which are described in section Options for Programs that Scan Source Files. `mkid' walks file trees, therefore it handles file and directory names on its command line and the `--prune' option as described in section Options for Programs that Walk File and Directory Trees..
In addition, `mkid' accepts the following command-line options:
Go to the first, previous, next, last section, table of contents.