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.