generates a build environment for a minimal Click driver


click-mkmindriver -p packagename [options] \ [param=value ...]


The click-mkmindriver tool generates a build environment for a minimal Click driver—that is, a driver containing only the elements necessary to run the configurations in the router-files. You must supply a name for the driver, packagename. Running ‘make MINDRIVER=packagename’ will create either a user-level driver named ‘packagenameclick’, or a Linux kernel module named ‘packagenameclick.o’. Run click-mkmindriver from the respective Click build directory, or supply a relevant --directory option.

Sometimes one element depends weakly on another, especially for parsing. For instance, the IPEncap(n) element can take advantage of protocol names supplied by the IPNameInfo(n) class; if IPNameInfo is not available, IPEncap will still work, it just won’t be able to parse protocol names. Click-mkmindriver does not include weakly dependent elements automatically, so you must supply them explicitly with -E options if you want them. Common examples include IPNameInfo and IPFieldInfo. If a configuration fails to parse, try including these elements.


If any filename argument is a single dash "-", click-mkmindriver will use the standard input or output instead, as appropriate.

-p packagename
--package packagename
Specifies the package name.

-f file
--file file
Read a router configuration from file.

-e expr
--expression expr
Use expr, a string in the Click language, as a router configuration.

-a, --all
Include every primitive element class, even those in compound elements that are not themselves used, in the following router configurations. This is useful to add support for click-xform(1), for example.

-l, --linuxmodule
Output a build environment for a Linux kernel module driver.

-u, --userlevel
Output a build environment for a user-level driver. This is the default.

-d dir
--directory dir
Write output file ‘elements_packagename.conf’ to the directory dir. This directory must already contain a normal build environment for the Click Linux module or user-level driver. (The driver required depends on the -k and -u options.) The default directory is ‘.’.

-E elts
--elements elts
Include the element classes elts, a space-separated list of element class names. Click-mkmindriver will also read a router configuration, but see --no-file below.

Do not add optional, but useful, element classes by default. Currently, these classes are Align(n) and IPNameInfo(n). If a configuration or option explicitly requires one of these classes, it will of course be included.

-V, --verbose
Print verbose progress information to standard error.

Print usage information and exit.

Print the version number and some quickie warranty information and exit.


click(1), click.o(8)


Eddie Kohler, [email protected]