halcompile - Build, compile and install LinuxCNC HAL components
halcompile [--compile|--preprocess|--document|--view-doc] compfile...
sudo halcompile [--install|--install-doc] compfile...
halcompile --compile --userspace cfile...
sudo halcompile
--install --userspace cfile...
sudo halcompile --install --userspace
pyfile...
When personalities are used in a comp file, hal instances are exported sequentially (typically by the mutually exclusive count= or names= parameters). If the number of exports exceeds the maximum number of personalities, subsequent personalities are assigned modulo the maximum number of personalities allowed.
By default, the
maximum number of personalities is 64. To alter this limit,
use the --personalities= option with halcompile. For
example, to set the maximum of personality items to 4:
[sudo] halcompile --personalities=4 --install ...
halcompile performs many different functions:
• |
Compile .comp and .c files into .so or .ko HAL realtime components (the --compile flag) | ||
• |
Compile .comp and .c files into HAL userspace components (the --compile --userspace flag) | ||
• |
Preprocess .comp files into .c files (the --preprocess flag) | ||
• |
Extract documentation from .comp files into .9 manpage files (the --document flag) | ||
• |
Display documentation from .comp files onscreen (the --view-doc flag) | ||
• |
Compile and install .comp and .c files into the proper directory for HAL realtime components (the --install flag), which may require sudo to write to system directories. | ||
• |
Install .c and .py files into the proper directory for HAL userspace components (the --install --userspace flag), which may require sudo to write to system directories. | ||
• |
Extract documentation from .comp files into .9 manpage files in the proper system directory (the --install flag), which may require sudo to write to system directories. | ||
• |
Preprocess .comp files into .c files (the --preprocess flag) |
Halcompile HAL Component Generator in the LinuxCNC documentation for a full description of the .comp syntax, along with examples
pydoc hal and Creating Userspace Python Components in the LinuxCNC documentation for documentation on the Python interface to HAL components