jMax jMax documentation

Compiling jMax


Introduction

This document explains how to recompile jMax from a source distribution.

Thanks to Michael Lechasseur (mlecha@music.mcgill.ca) for contributions to this document.


Prerequisites

The following elements are needed to recompile jMax:

Check Installing jMax documentation for further information on JDK download and installation.

SGI platform

On SGI platform, GNU make resides in /usr/freeware/bin/gmake. Makefiles will not work with standard make.

Linux platform

You can install the JDK in the directory of your choice, as long as the JDK directory is defined in environment variables. The following place can be used for example: /usr/local/java.

Once you have defined installation directory, you must add environment variables definition. This can be done by adding the following lines (modify JAVA_HOME to reflect the current settings of your system):

JAVA_HOME="/usr/local/java"
PATH="$JAVA_HOME/bin:$PATH"
to your .bashrc file in your home directory (modify accordingly if you are using another shell).

Once this is done, you can check that the environment is correct by running the Java VM:

echo $PATH
echo $CLASSPATH
java -version

If the "Kaffe Java Virtual Machine" is installed on your system, you'll need to make sure that jMax finds the JDK binaries before it finds the Kaffe binaries. If you have Kaffe installed you'll get the output "Kaffe Virtual Machine" by typing "java -version" at the command line. You need to make the path to your JDK directory apprear first in your PATH statement, or you need to rename the Kaffe files to prevent their use:

  mv /usr/bin/java /usr/bin/java-kaffe
  mv /usr/bin/javac /usr/bin/javac-kaffe
  mv /usr/bin/jar /usr/bin/jar-kaffe

Note: it has been reported that Kaffee does not currently run jMax. We recommend that you use JDK instead.


Compilation

The compilation must be started in jMax sources root directory. Compilation command must specify both a target and an architecture which is passed in make variable ARCH.

General compilation targets

The following targets are defined in the top-level Makefile:

Compilation architecture

The following architecture names are defined:

These architecture names are passed to the makefiles by the ARCH variables, as in:

make clean ARCH=i686-linux

Platform specific targets

The following platform specific targets are defined:

Compilation commands

To compile both C and Java on Linux/Intel:

make i686-linux
or equivalent:
make all ARCH=i686-linux

To do a 'clean' on Linux/Intel:

make clean ARCH=i686-linux


Building rpms

jMax sources can be used to build rpms, in order to ease installation and distribution on Linux platforms.

The necessary files for rpm building are included in the source rpm of jMax and in the jMax source distribution.

Building rpms from source rpm

After installing the source rpm (jMax-<VERSION>.src.rpm), just cd to the rpm spec directory (usually /usr/src/redhat/SPECS) and start building by:

rpm -ba jmax.spec

Building rpms from source distribution

This apply if you installed jMax sources from a .tar.gz file.

The file jmax.spec is in the source distribution, in subdirectory pkg/rpm/jmax.spec. For rpm building, the following files must be copied:

After copying those files, just cd to the rpm spec directory and start building by:

rpm -ba jmax.spec

Copyright © 1995,1999 IRCAM.
All rights reserved.