Provided by: linuxcnc-uspace-dev_2.9.0~pre1+git20230208.f1270d6ed7-1_amd64 bug

NAME

       halcompile - Build, compile and install LinuxCNC HAL components

SYNOPSIS

            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 ...

DESCRIPTION

       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)

SEE ALSO

       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