Provided by: matlab-support_0.0.21.1_all bug

NAME

       debian-matlab-mexhelper - helper to build Matlab extensions on Debian

SYNOPSIS

       debian-matlab-mexhelper [OPTIONS] <package name> <mode>

DESCRIPTION

       The  is  a  small helper that eases building and installing MEX extensions for Matlab toolbox packages in
       Debian binary packages. Because these packages cannot build-depend on Matlab (for obvious  reasons)  they
       need  to  compile  their extensions at installation time using a local Matlab installation. The helper is
       somewhat flexible by supporting custom  build,  install  and  clean  commands,  as  well  as  source  and
       destination directories.  It also deals with moving extensions into library directories and automatically
       symlinks them into the toolbox directory.

       There are two major modes: 'install' to build, install and symlink extensions (useful  in  postinst)  and
       'clean' to remove installed extensions and symlinks (useful in prerm).

       The  command  to  build  the  extensions  is  invoked  in  the  source  directory.  By  default,  this is
       /usr/src/matlab/<package name>, but can be overridden with the --src-dir option. Any  optional  'install'
       (--install-cmd) and 'clean' (--clean-cmd) are invoked in the source directory too.

       Moreover,  this  helper  will  also  take  any  installed  extensions  from  a  default installation path
       /usr/share/matlab/site/m/<package name>, move them into /usr/lib/matlab/site/<package name>  and  symlink
       back  to the original location.  These locations can be configured with the --m-dir and --mex-dir options
       respectively. Again, this step is  optional  and  is  only  performed  if  a  package  actually  installs
       extensions inot this location.

OPTIONS

       -h

              Print usage summary and option list.

       --help

              Print full help.

       --version

              Print version information and exit.

       --build-cmd

              Command to build the extensions in the source directory

       --install-cmd

              Command to install the extensions after building

       --clean-cmd

              Command  to  clean the source tree after installation. This is not the command that is executed in
              'clean' mode.

       --src-dir

              Directory with the extension sources. This is also the directory in which build, install and clean
              commands get invoked.

       --mex-dir

              Target directory into which binary extensions get moved.

       --m-dir

              Target directory in which symlinks to binary extensions get created.

       --make

              Set  default  commands  for  'build-cmd'  (make),  'install-cmd' (make install DESTDIR=$m_dir) and
              'clean-cmd' (make distclean) if no specific command has been provided via the respective options.

EXAMPLES

       The following call can be used in  a  package's  postinst  script  if  it  comes  with  a  Matlab  script
       'build_matlab.m'  that builds and installs its extension into the desired locations. The --src-dir option
       is used to point to a non-standard location of the extension sources.

       debian-matlab-mexhelper somepackagename install
              --src-dir /usr/src/dynare-matlab/mex/sources     --build-cmd 'matlab -nodesktop -nodisplay  -nojvm
              -r build_matlab'

       If  a  package  installs  extension  sources into the standard location and builds its extensions using a
       Makefile that support the DESTDIR for installing the built extensions and  a  'distclean'  target  it  is
       sufficient to run the following.

              debian-matlab-mexhelper somepackagename install --make

       Otherwise it is also possible to fully customize all commands.

       debian-matlab-mexhelper difficultpackage install
              --build-cmd  'make  -C src all toolbox MEXBIN="matlab-mex"'     --install-cmd 'make -C src install
              && find . ! -wholename "./src" -name "*.mex?*" -print0  |  xargs  -0  -I  {}  cp  -v  --parent  {}
              /usr/share/difficultpackage'      --clean-cmd  'make  -C src distclean toolbox-distclean && find .
              -name "*.mex?*" -delete'

       If a package uses debian-matlab-mexhelper to install extensions into the standard location it can also be
       used  to  remove  all  MEX  extensions  and  created symlinks when a package is removed from a system. To
       achieve this simply put the following call into a package's prerm script.

              debian-matlab-mexhelper packagename clean

AUTHOR

       Written by Michael Hanke.

COPYRIGHT

       Copyright © 2010-2011 Michael Hanke <michael.hanke@gmail.com>

       Licensed under GNU General Public License version 3 or later.
       This is free software; see the source for copying  conditions.   There  is  NO  warranty;  not  even  for
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.