to teem

Build

teem

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.
  1. Download the teem distribution
  2. 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.
  3. Go into this directory.
  4. 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:
  5. 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.
  6. cd ../<arch>/bin
  7. ./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.