mkoctfile(1) General Commands Manual mkoctfile(1)

mkoctfile - Compile dynamic-load modules for GNU Octave

mkoctfile [option]... FILE...

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

Print help message.
Add include directory dir to compile command.
Add include directory to second include search path for compilation after '-I'.
Add definition def to compile command.
Add library lib to link command.
Add library directory dir to link command.
Generate dependency files (.d) for C and C++ source files.
Add -pthread to link command.
Pass -Rdir to link command.
Pass option to the linker such as -Wl,-rpath=...
Pass flags to the compiler such as -Wa,option.
Compile, but do not link.
Output filename. Default extension is ".oct" (or ".mex" if --mex is specified) unless linking a stand-alone executable.
Enable debugging option for all compilers.
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                 LOCALARCHLIBDIR
    ARCHLIBDIR                  LOCALFCNFILEDIR
    BINDIR                      LOCALOCTFILEDIR
    CANONICAL_HOST_TYPE         LOCALSTARTUPFILEDIR
    DATADIR                     LOCALVERARCHLIBDIR
    DATAROOTDIR                 LOCALVERFCNFILEDIR
    DEFAULT_PAGER               LOCALVEROCTFILEDIR
    EXEEXT                      MAN1DIR
    FCNFILEDIR                  MAN1EXT
    IMAGEDIR                    MANDIR
    INCLUDEDIR                  OCTAVE_EXEC_HOME
    INFODIR                     OCTAVE_HOME
    INFOFILE                    OCTDATADIR
    LIBDIR                      OCTDOCDIR
    LIBEXECDIR                  OCTFILEDIR
    LOCALAPIARCHLIBDIR          OCTFONTSDIR
    LOCALAPIFCNFILEDIR          OCTINCLUDEDIR
    LOCALAPIOCTFILEDIR          OCTLIBDIR
    LOCALAPIPKGDIR              STARTUPFILEDIR
                                VERSION
Link a stand-alone executable file.
Create a MEX file. Set the default output extension to ".mex". Link to liboctmex instead of liboctinterp and liboctave.
Strip output file.
Print commands, but do not execute them.
Echo commands as they are executed.
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

John W. Eaton and many others. The list of contributors to the Octave project may be shown from within octave by executing "doc Acknowledgements". The list is also available online at https://docs.octave.org/latest/Acknowledgements.html.

April 2026 GNU Octave