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