# ilib_mex_build

utility for mex library management

## Calling Sequence

    ilib_mex_build(lib_name,table,files,libs [,makename,ldflags,cflags,fflags,cc])

## Arguments

lib_name

  a character string, the generic name of the library without path and extension.

table

  3 column string matrix giving the table of 'scilab-name', 'interface name', 'cmex' or 'fmex'

files

  string matrix giving objects files needed for shared library creation

libs

  string matrix giving extra libraries needed for shared library creation

makename

  character string. The path of the Makefile file without extension.

  This parameter is useless since Scilab 5.0. Default value to use: [].

  A warning will be displayed in Scilab 5.3 if you use another value that the default.

ldflags,cflags,fflags,cc

  character strings to provide options/flags for the loader, the C compiler, the Fortran compiler. cc provides the name of the compiler.

## Description

This function is used to create mex libraries and to generate a loader file which can be used to dynamically load the mex shared library.

Note that the file name containing the mex code can be set in the third input argument (`files`) or the second value of the `table` input argument.

Note that a compiler must be available on the system to use this function.

## Examples

    cd(TMPDIR);

    mputl(['#include ""mex.h""'
           'void mexFunction(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[])'
           '{'
           '  int *dims = mxGetDimensions(prhs[0]);'
           '  sciprint(""%d %d %d\n"",dims[0],dims[1],dims[2]);'
           '}'],'mexfunction16.c');
    ilib_mex_build('libmex',['mexf16','mexfunction16','cmex'],[],[],'','','','');

    exec(TMPDIR+'/loader.sce');
    mexf16(rand(2,3,2));

## See Also

- addinter
- link
- ilib_compile
- ilib_gen_Make
- ilib_gen_gateway
- ilib_gen_loader
- ilib_for_link
- api_scilab