Windows users (except Cygwin):
Windows users should click here.
Non-Windows users (including Cygwin):
To build teem you will need GNU make. I am
in fact using many GNU-make-specific features, and all my makefiles
are actually named GNUmakefile instead of Makefile
to minimize the chances of someone trying to use a non-GNU make.
- Download the teem
distribution
- Untar it.
Throughout this and all other teem documentation, the directory
just created will be referred to as "teem", even though it
will actually be called "teem-1.XblahN" or something similar.
- Go into this directory.
- Depending on what architecture you're on, set the TEEM_ARCH
environment variable (however you do that in your favorite shell) to
one of the following:
- linux: Any kind of GNU/Linux
- cygwin: A Cygwin shell running on a Windows box
- irix6.n32: 32-bit Irix
- irix6.64: 64-bit Irix
- solaris: Solaris machines running in 32-bit mode.
- darwin: A Mac running OS X (which runs on top of
Darwin).
- cd src; make
This will build and "install" all the teem libraries, as well
as all the command-line tools. This
build will take a little while. On a multi-processor machine,
building teem-1.5betaX or later, feel free to use
"make -j10" or similar to speed this up. NOTE: This
isn't an "install" in the traditional Unix build sense, since no files
will be created outside the top-level teem directory.
Headers are put in teem/include, libraries are created in
teem/<arch>/lib, and the command-line tools in
teem/<arch>/bin, where "<arch>" is the
same as what you set TEEM_ARCH to.
- cd ../<arch>/bin
- ./nrrdSanity
This little program calls a nrrd function called
nrrdSanity() which basically makes sure that everything
hard-coded (or set at compile-time) into nrrd is correct for
the machine you're on. For instance, the various assumptions about
type sizes and representational ranges are checked, as is endianness,
and the availability of IEEE 754 floating point numbers. If you get
anything besides:
./nrrdSanity: nrrd sanity check passed.
then your teem build will not work correctly. Either one of
the default settings in the architecture-specific makefile
teem/src/make/<arch>.mk is wrong, or your machine isn't
up to snuff. In either case, email me (gk@cs.utah.edu) with the error
message from nrrdSanity.
If you'd rather everything be installed to some other directory (with
include, lib, and bin subdirectories), then set environment variable
TEEM_DEST to that directory, and make will put headers,
libraries, and binaries in the corresponding subdirectories of
TEEM_DEST.
If interested, you can read more about the directory structure of teem. For
more specific information about how the GNUmakefiles work, or how to
use them to do something besides the standard install described above,
see How teem uses GNU make.