# Jigsaw
How to compile Jigsaw

Jigsaw Home / Documentation Overview / Tutorials

Jigsaw is delivered with a set of makefiles, so you can use the make tool to compile Jigsaw.
The average time of building Jigsaw on a SUN Ultra 30 is 1mn40 or 13mn using the makefiles, using jdk_1.2.2_05a, depending on your OS/CPU/compiler, your mileage may vary.

# On UNIX machine

According to your shell (for example bash), just set the following environment variable:

MAKEDIR = `<instdir>/Jigsaw/src/makefiles`

export MAKEDIR

Note: Since 2.0.2, the MAKEDIR variable is no more used, so don't take care of it.

Now you have to update your CLASSPATH to compile Jigsaw and use the new compiled classes.

CLASSPATH = `<instdir>/Jigsaw/src/classes/:...`

instead of

CLASSPATH = `<instdir>/Jigsaw/classes/jigsaw.jar:...`

Of course be sure to add all the external jars needed by your version of Jigsaw, servlet.jar, and for 2.1 sax.jar and xp.jar. Some sources may require additional packages like jakarta-oro.
then

export CLASSPATH

Then you can use make in any directory under `<instdir>/Jigsaw/src/classes`. Another way if you want to compile everything faster, see this:
`cd <instdir>/Jigsaw/src/classes && javac -O `find . -name \*.java``

# On Windows Machine

You can use the make tool from the GNU tools for Windows.

Then you just have to set the same environment variable (with bash):

MAKEDIR = `<instdir>\Jigsaw\src\makefiles`

export MAKEDIR

Note: Since 2.0.2, the MAKEDIR variable is no more used, so don't take care of it.

And your CLASSPATH should become:

CLASSPATH = `<instdir>\Jigsaw\src\classes\:...`

instead of

CLASSPATH = `<instdir>\Jigsaw\classes\jigsaw.jar:...`

then

export CLASSPATH

Then you can use make in any directory under `<instdir>\Jigsaw\src\classes`, provided you have "make" installed.