File Exchange

image thumbnail


version (78.5 KB) by Norbert Marwan
Create a single install file for your toolbox distribution.


Updated 02 Nov 2014

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

You have a created a toolbox with a lot of MATLAB files and now you need a simple way to distribute this toolbox? With MAKEINSTALL you will be able to automatically create a single INSTALL.M file, which includes a simple installation routine and all the Matlab programmes needed for the toolbox. The install script will modify your system in order to use the toolbox instantly.
An illustration of the install script is available on
(-> installation).
Project homepage:

White Paper:

Makeinstall needs Matlab 7 or newer because it uses commands that are not available in previous versions.

However, the installer can be run even in Octave!

Starting with Release 2014b, MATLAB provides now a similar, build-in feature. Nevertheless, the makeinstall installer will be continued as it provides installers also for older MATLAB versions and comes with useful features (e.g., automatic version number inclusion).

Cite As

Norbert Marwan (2020). makeinstall (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (10)

doesn't work. Why don't you make it simple to use?

John Booker

I love this script, so useful, thanks :)

Michael Teo

Is it possible to install into other path than the MATLAB's toolbox path?

Hi, I`m David Steckler, I`ve tried to install My Software with MakeInstall your excellent Program but I had a problem Matlab says:

" ??? Out of memory. Type HELP MEMORY for your options.

Error in ==> makeinstall at 691
checksum = dec2hex(sum((1:length(c)).*c)); "

I`ll appreciate your help

Thank you so much

Rybchinskaya Lena

po bounmaniphet

Adam S


Norbert Marwan

I have prepared this tool with much care. However, I cannot exclude that there are still some small bugs. If you find bugs or encounter strange problems by applying this tool, please write me an eMail. Please do not use this review section for bug reports. Thank you very much. I'm grateful to every helpful hint or comment.


GIT tag support added (used for version number)

new feature: option for exclusive PC usage (toolbox will not work under other systems)
avoid addpath of package directories (+folders)
fid-bug in error handling fixed, extension of ignoring of further non-Matlab files

fix for rare cases when userpath variable is empty

bug in ignoring files (.git*, .svn*, etc) fixed

bugfix for Windows installation, improved Octave behaviour

ignores now .git files
fixes a bug when using MS Windows line endings
fixes a bug when adding entries in startup.m

small bug in deinstallation routine fixed

Installer now produces an Octave compatible install file. The toolbox can be installed within Matlab and Octave with the same install file. However, the Octave compatibility of the Matlab toolbox itself remains in the responsibility of the developer.

only for Windows users: changed toolbox location from general Matlab folder to user's Matlab folder in Windows

Update the info.xml content.

remaining hint to GPL removed

change from GPL to BSD License

support of subdirectories

code optimised

pcode bug, which could occur since R14, resolved

fixed downwards compatibility of mfilename command

improvement of container, minor bugfixes

minor bug fixes

CVS compatibility included

New features:
root-folder for the toolbox-directory can be modified, startup.m-entry is optional

minor bug-fixes due to restart the makeinstall script

Improvement of the stability during write access failures. Rehash bug fixed.

Minor modifications in the error handling.

If startup file contains only one entry, an error may occur - now fixed.

If startup file contains only one entry, an error may occur - now fixed.

Empty files bug fixed

If startup file contains only one entry, an error may occur - now fixed.

Some little improvements in the created install-script.

Significant speed up of writing and reading the installation container (archive).

A checksum based test of the archive consitency is now included.

Error during reading the directory, when p-files are therein -> now fixed.

An error occured when running the first time. Further minor changes.

Now it fall under the GNU General Public License.

remedy problems which could occure during the pcode process on mac's OS-X

Including the support of binary data and sub-directories.

New version, which supports binary data and sub-directories (e.g. private folder).

Minor corrections in the subroutine for handling the startup.m file.

Now MAKEINSTALL can read special resource files in the toolbox folders, which enables us the more general application of the script. Such resource file will be generated automatically, if it does not yet exist.

I have found some minor problems and errors due to wrong variable definitions. Now this programme is more general.

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux