    // Inspect the following #defines. Change them to taste. If you don't
    // need a particular option, change its value into an empty string

    // For more information about this file: 'man 7 icmconf'

    // The final program and source containing main():
    // ===============================================

    // define the name of the source containing main():
#define MAIN                "main.cc"

    // define the name of the program to create (don't use a path here, but
    // define the installation path at `BIN_INSTALL' below) and use
    // `icmbuild install' to install the binary.
#define BINARY              "binary"

    // Uncomment to relink the binary, even when no sources were
    // changed (this is useful if, e.g., a library was rebuilt)
//#define REFRESH

    // Uncomment to install the binary in the provided path using 
    // `icmbuild install'
//#define BIN_INSTALL         "/usr/local/bin"

    // Defines related to the local libraries to create:
    // =================================================

    // Uncomment to create a local library rather (when a binary program is 
    // built it will be linked against the library rather than the individual
    // object modules). Change the lib's name at you own digression (don't use
    // lib or an extension like .a)
//#define LIBRARY           "modules"

    // Uncomment to construct a shared library 
//#define SHARED

    // When creating a shared library:
    // Specify the names of any libraries and library paths that are required
    // by the shared library. E.g., if a library is found in /usr/lib/special
    // use "-L/usr/lib/special -lspecial" if the name of the library is
    // libspecial.so
    // The /lib and /usr/lib paths are usually predefined and need not be 
    // specified
#define SHAREDREQ           ""

    // Uncomment to install the libraries in the provided path using 
    // `icmbuild install'
//#define LIB_INSTALL         "/usr/local/lib"


    // #defines used for compilation and linking:
    // ==========================================

    // Uncomment to clear the screen just before starting the compilation
    // process 
//#define CLS

    // Uncomment to use the ALL facility and a class dependency setup in the
    // CLASSES file. When a directory contains a file ALL (optionally rename
    // this filename by providing an alternative name) then all its sources
    // and all sources of all classes depending on it are also compiled.  
    // Class dependencies are indicated by the class name (as the first
    // word on a line) optionally followed by additional class names, which
    // are the classes directly depending on the line's first class name.
//#define USE_ALL             "a"

    // define the compiler to use. Options specified here will always be used
    // and cannot be overruled by COMPILER_OPTIONS or COPT settings
#define COMPILER            "g++ --std=c++0x -Wall"

    // define the compiler options to use. 
    // To enable GNU extensions in addition to C++0x extensions, add the
    // --std=gnu++0x flag
#define COMPILER_OPTIONS    "-g -O2"

    // define the pattern to locate sources in a directory:
#define SOURCES             "*.cc"

    // define the options used for linking:
#define LINKER_OPTIONS      ""

    // By providing the following two #defines the contents of environment
    // variables named as specified will overrule, resp. COMPILER_OPTIONS 
    // and LINKER_OPTIONS. If the #defines are provided and the environment 
    // variables haven't been specified then COMPILER_OPTIONS and
    // LINKER_OPTIONS will be used as-is
//#define COPT "CXXFLAGS"
//#define LOPT "LDFLAGS"

    // define any additional libraries BINARY may need:
#define ADD_LIBRARIES       ""

    // define any additional paths (other than the standard paths) the
    // additional libraries are located in:
#define ADD_LIBRARY_PATHS  ""

    // Some advanced #defines, used to create parsers and lexical scanners 
    // ===================================================================


    // Lexical Scanner section
    // =======================

    // Should a lexical scanner be constructed? If so, define the subdirectory 
    // containing the scanner's specification file. 
#define SCANNER_DIR         ""  

    // What is the program generating the lexical scanner?
#define SCANGEN             "flexc++"

    // Flags to provide SCANGEN with:
#define SCANFLAGS           ""

    // Name of the lexical scanner specification file
#define SCANSPEC            "lexer"

    // Specify additional lexer specification files using patterns
    // these files are (in)directly included by SCANSPEC
//#define SCANFILES            ""
    
    // Name of the file generated by the lexical scanner
#define SCANOUT             "lex.cc"


    // Parser section
    // ==============

    // Should a parser be constructed? If so, define the subdirectory
    // containing the parser's specification file
#define PARSER_DIR          ""

    // What is the program generating a parser?
#define PARSGEN             "bisonc++"

    // Flags to provide PARSGEN with:
#define PARSFLAGS           "-V"

    // What is the grammar specification file?
#define PARSSPEC            "grammar"

    // Specify additional grammar specification files using patterns
    // these files are (in)directly included by PARSSPEC. Specify patterns
    // relative to PARSER_DIR
//#define PARSFILES           ""

    // Name of the file generated by the parser generator containing the 
    // parser function
#define PARSOUT             "parse.cc"


    // Additional defines, which normally require no modification
    // ==========================================================

    // should commands be echoed (ON) or not (OFF) ?
#define USE_ECHO              ON

    // Directory below this directory to contain temporary results
#define TMP_DIR             "tmp"

    //  The extension of object modules:
#define OBJ_EXT             ".o"

    //  Use the VERSION file
#define USE_VERSION

    // below #define DEFCOM "program" or "library" may be added by icmstart



