MKOCTFILE(1)

NAME
mkoctfile - Compile dynamic-load modules for GNU Octave

SYNOPSIS
mkoctfile [OPTION]... file...

DESCRIPTION
mkoctfile is used to compile C, C++, or Fortran source code in to a dynamically loadable .oct file for octave(1).

OPTIONS

-h, -?, --help
    Print help message.

-Idir
    Add include directory dir to compile commands.

-idirafterdir
    Add include directory to second include search path after '-I'.

-Ddef
    Add definition def to compiler command.

-llib
    Add library lib to link command.

-Ldir
    Add library directory dir to link command.

-Rdir
    Pass -Rdir to link command.

-g  Enable debugging option for all compilers.

-pthread
    Add -pthread to link command.

-W...
    Pass flags to the compiler such as -Wa,OPTION.

-Wl,...
    Pass flags to the linker such as -Wl,-rpath=...

-M, --depend
    Generate dependency files (.d) for C and C++ source files.

-c  Compile but do not link.

--link-stand-alone
    Link a stand-alone executable file.

-s, --strip
    Strip the output file.

--mex
    Create a MEX file. Set the default output extension to .mex.

-o file, --output file
    Output filename. Default extension is .oct (or .mex if --mex is specified) unless linking a stand-alone executable.

-p VAR, --print VAR
    Print configuration variable VAR. There are three categories of variables:

    Octave configuration variables that users may override with environment variables. These are used in commands that mkoctfile executes.
        ALL_CFLAGS                  INCLUDEDIR
        ALL_CXXFLAGS                LAPACK_LIBS
        ALL_FFLAGS                  LDFLAGS
        ALL_LDFLAGS                 LD_STATIC_FLAG
        BLAS_LIBS                   LFLAGS
        CC                          LIBDIR
        CFLAGS                      LIBOCTAVE
        CPICFLAG                    LIBOCTINTERP
        CPPFLAGS                    OCTAVE_LINK_OPTS
        CXX                         OCTINCLUDEDIR
        CXXFLAGS                    OCTAVE_LIBS
        CXXLD                       OCTAVE_LINK_DEPS
        CXXPICFLAG                  OCTLIBDIR
        DL_LDFLAGS                  OCT_LINK_DEPS
        F77                         OCT_LINK_OPTS
        F77_INTEGER8_FLAG           RDYNAMIC_FLAG
        FFLAGS                      SPECIAL_MATH_LIB
        FPICFLAG                    XTRA_CFLAGS
        INCFLAGS                    XTRA_CXXFLAGS

    Octave configuration variables as above, but currently unused by mkoctfile.
        AR
        DEPEND_EXTRA_SED_PATTERN
        DEPEND_FLAGS
        FFTW3F_LDFLAGS
        FFTW3F_LIBS
        FFTW3_LDFLAGS
        FFTW3_LIBS
        FFTW_LIBS
        FLIBS
        LIBS
        RANLIB
        READLINE_LIBS

    Octave configuration variables that are provided for informational purposes only. Except for OCTAVE_HOME and OCTAVE_EXEC_HOME, users may not override these variables.

    If OCTAVE_HOME or OCTAVE_EXEC_HOME are set in the environment, then other variables are adjusted accordingly with OCTAVE_HOME or OCTAVE_EXEC_HOME substituted for the original value of the directory specified by the --prefix or --exec-prefix options that were used when Octave was configured.
        API_VERSION                 LOCALFCNFILEDIR
        ARCHLIBDIR                  LOCALOCTFILEDIR
        BINDIR                      LOCALSTARTUPFILEDIR
        CANONICAL_HOST_TYPE         LOCALVERARCHLIBDIR
        DATADIR                     LOCALVERFCNFILEDIR
        DATAROOTDIR                 LOCALVEROCTFILEDIR
        DEFAULT_PAGER               MAN1DIR
        EXEC_PREFIX                 MAN1EXT
        EXEEXT                      MANDIR
        FCNFILEDIR                  OCTAVE_EXEC_HOME
        IMAGEDIR                    OCTAVE_HOME
        INFODIR                     OCTAVE_VERSION
        INFOFILE                    OCTDATADIR
        LIBEXECDIR                  OCTDOCDIR
        LOCALAPIARCHLIBDIR          OCTFILEDIR
        LOCALAPIFCNFILEDIR          OCTFONTSDIR
        LOCALAPIOCTFILEDIR          STARTUPFILEDIR
        LOCALARCHLIBDIR

-v, --verbose
    Echo commands as they are executed.

file
    Compile or link file. Recognized file types are:
       .c    C source
       .cc   C++ source
       .cp   C++ source
       .cpp  C++ source
       .CPP  C++ source
       .cxx  C++ source
       .c++  C++ source
       .C    C++ source
       .f    Fortran source (fixed form)
       .F    Fortran source (fixed form)
       .f90  Fortran source (free form)
       .F90  Fortran source (free form)
       .o    object file
       .a    library file

AUTHOR
John W. Eaton <jwe@octave.org> This manual page was contributed by Dirk Eddelbuettel <edd@debian.org> for the Debian GNU/Linux distribution but may be used by others.

SEE ALSO
octave (1).