Compiling a Distribution

Due to the set of rules defined in and, making a release is pretty easy.

Prepare the Stage

The following should be called on a computer that has autoconf and automake installed in a rather recent version. Use if you are unsure.


The configure script should be run on the actual computer that is used to run make check (see below), since it adjusts time messurements.


Run the Testsuite

Then check if the testsuite passes as expected.

make check

If you work on a multi-processor machine, you can ask to run the tests in parallel. For example, allowing 8 concurrent processes, use:

make -j8 check

It is possible to run only a part of the tests. For each (sub-)directory RISC/foo one can use

make check-foo

to run only the tests from the .mt files in this subdirectory.

Even finer control is achieved by using the variable TESTS directly. If you want to test only the files RISC/foo/ and RISC/foo/, you can start this with:

make checkfull TESTS='RISC/foo/ RISC/foo/'

Each of the Test[...] parts in a .mt file will be aborted after about 10 seconds. To increase this timeout to 200 seconds, add


to the make check arguments list.

Make and Upload a Release

Make sure that the version number of each (sub-)package is set accordingly.

Update the version number in

And now produce the release as follows.

make release

This will produce the files:


which, have to be put into the $UserBaseDirectory of Mathematica.

The x.y.z is the actual version number that is given at the top of the file


make release-to-server

the release files will be put onto the server into a place which is linked from the website.

The website is updated on the server via the following command.

make update-website

See How to create this website for more detail.

Make (or update) a local Installation from the Sources

This kind of installation is currently only supported on a Linux machine.

make install

It will install (encrypted) versions of all package files into the subdirectory Applications of your $UserBaseDirectory. Usually, files will go into $HOME/.Mathematica/Applications.

In case you want the installation files to go into directory /my/installation/dir, you should configure it accordingly. Either say

./configure --prefix=/my/installation/dir
make install

or simply

make install localinstalldir=/my/installation/dir

In case you do not want to encrypt your installed packages (for example for code debugging), use the following additional parameter.

make install PREINSTALLEXT=mma