MKOCTFILE(1)
π mkoctfile β the girlies' guide (manual page, General Commands Manual, section 1)
okay so bestie, welcome to mkoctfile, and yes the name is literally "make oct file" squished together, she's efficient like that π
β¨ NAME β¨
mkoctfile β Compile dynamic-load modules for GNU Octave π¦
πΈ SYNOPSIS πΈ
mkoctfile [OPTION]... file...
π DESCRIPTION π
So like, mkoctfile is the girl you call when you have C, C++, or Fortran source code and you need it to become a dynamically loadable .oct file for octave(1). That's it. That's the whole job. She takes your little source files and turns them into the thing Octave can actually load and run. Iconic behavior, no notes π
β¨ OPTIONS β¨
-h,-?,--helpβ Print help message. She'll tell you what she can do π-Idirβ Add include directory dir to compile commands.-idirafterdirβ Add include directory to second include search path after-I. Second place is still a place bestie π«Ά-Ddefβ Add definition def to compiler command.-llibβ Add library lib to link command.-Ldirβ Add library directory dir to link command.-Rdirβ Pass-Rdirto link command.-gβ Enable debugging option for all compilers. For when you need to see exactly what went wrong π-pthreadβ Add-pthreadto 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. She does half the job and she does it well β¨--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.mexif--mexis 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
mkoctfileexecutes.
- Octave configuration variables that users may override with environment variables. These are used in commands that
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. They're just sitting there, existing, being cute π§
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_HOMEandOCTAVE_EXEC_HOME, users may not override these variables.
okay listen, this part is important: ifOCTAVE_HOMEorOCTAVE_EXEC_HOMEare set in the environment, then other variables are adjusted accordingly withOCTAVE_HOMEorOCTAVE_EXEC_HOMEsubstituted for the original value of the directory specified by the--prefixor--exec-prefixoptions that were used when Octave was configured. It's giving "everything is connected" π
API_VERSION LOCALARCHLIBDIR
ARCHLIBDIR LOCALFCNFILEDIR
BINDIR LOCALOCTFILEDIR
CANONICAL_HOST_TYPE LOCALSTARTUPFILEDIR
DATADIR LOCALVERARCHLIBDIR
DATAROOTDIR LOCALVERFCNFILEDIR
DEFAULT_PAGER LOCALVEROCTFILEDIR
EXEC_PREFIX MAN1DIR
EXEEXT MAN1EXT
FCNFILEDIR MANDIR
IMAGEDIR OCTAVE_EXEC_HOME
INCLUDEDIR OCTAVE_HOME
INFODIR OCTDATADIR
INFOFILE OCTDOCDIR
LIBDIR OCTFILEDIR
LIBEXECDIR OCTFONTSDIR
LOCALAPIARCHLIBDIR OCTINCLUDEDIR
LOCALAPIFCNFILEDIR OCTLIBDIR
LOCALAPIOCTFILEDIR STARTUPFILEDIR
LOCALAPIPKGDIR VERSION
-v,--verboseβ Echo commands as they are executed. She'll narrate her whole process for you, main character energy π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> β the legend himself π«Ά
This manual page was contributed by Dirk Eddelbuettel <edd@debian.org> for the Debian GNU/Linux distribution but may be used by others. Sharing is caring fr fr π
π SEE ALSO π
octave (1).
and that's the whole page bestie!! this one came from GNU Octave, dated 3 January 2014 β yes she's an elder but she still eats π β¨ no cap, go compile something gorgeous π¦ππΈ
π¦ where this page comes from
- alpine 3.24: octave-doc 11.1.0-r0 Β· GPL-3.0-or-later
- epel 10: octave-devel 6:11.1.0-2.el10_3 Β· GPL-3.0-or-later
- nixos 26.05: octave 11.1.0
- ubuntu resolute: octave-dev 11.1.0-3 Β· GPL-3.0-or-later
- Copyright (C) 2000-2026 The Octave Project Developers
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms