CPUG HOME QMAKE RCS AMMA HOME GAMA HOME

QMAKE HOME PAGE
Centre for Vision, Speech & Signal Processing


  BEGINNERS
  FEEDBACK
QMake Home Page

  COMPILING
A flexible make system based on GNU make.

QMake is a flexible compilation aid, based on the GNU "make" program. It was originally developed for building the AMMA and GAMA libraries, but it can be used for compiling any software project, however big or small. If your project uses the AMMA or GAMA libraries, QMake will know where to find them.

QMake relies on a simple text file ("defs.mk") being present in each directory of the project. Each defs.mk describes what must be compiled from that directory.

The documentation for QMake is fragmented at present:

  • Simple usage of QMake is described in the AMMA Tutorial.
  • You need to set up your environment (same as for AMMA).
  • Information describing the many variables in the defs.mk file for controlling what is built is given here (Description File Variables). But to begin with, all you probably need is one or two of these:
    • MAINS
    • SOURCES
    • LOCALHEADERS
    • USESLIBS
    • NESTED
    E.g. if all you wanted to compile was one file called "fred.cc" containing a main program, the defs.mk file would contain the single line:
    MAINS = fred.cc
  • Type am to compile (am is an alias defined in the AMMA environment). The QMake command-line options describe how to use different modes of QMake.
  • Xemacs users: there is an Xemacs enhancement to allow easy QMake compilation from within Xemac.

S.Cunnington@ee.surrey.ac.uk Last modified: Wed Jun 7 16:30:19 BST 2000