Dependencies: gcc, gnu make libreadline-dev (for the shell) libsqlite3-dev (for optional sqlite module) Arguments (to be written before "make"): PREFIX=? Install under user-specified prefix (such as "/usr/local"). Default is "/usr" RELEASE=1 Enable release mode (-O3 instead of -g, stripping) STATIC=1 Link the stt shell statically. STATIC=1 PROFILE=1 Enable profiling for the shell executable (STATIC=1 is necessary) IA64=1 Compile for the x86_64 platform. CROSS_WIN32=1 Cross-compile for Windows, using mingw (i586-mingw32msvc) CROSS_WINCE=1 Cross-compile for Windows CE on StrongARM using GNUWINCE (turns on NO_READLINE) MINGW_WIN32=1 Compile under Windows using mingw NO_READLINE=1 Compile the shell without readline support WITH_EXTLIB=1 Enable external module loading. On win32, doesn't work together with STATIC (the shell needs to link to the stutter dll). MODSTATIC=1 Include modules in the core lib (no plugin .so/.dll are created). Arguments for optional modules: MODULES= Existing modules: mod_sqlite SQLite3 mod_xml XML mod_pgsql PostgreSQL mod_pcre libpcre regular expressions mod_termios basic terminal i/o mod_locale basic locale support BUILTIN_SQLITE=1 Include SQLite3 library in the sqlite module itself. To make this work, put the sqlite "amalgamation" (the contents of the file sqlite-amalgamation-*.zip) in the libs/mod_sqlite/sqlite directory in the source tree. To make this work with CROSS_WINCE, overwrite sqlite3.c with extern/sqlite3-*-wince.c.bz2 (uncompressed and renamed properly). Targets (to be written after "make"): install Compiles and installs libstutter and the stt command line interface. linstall As make install, but only symlinks instead of copying. This is useful when you're developing Stutter (a simple make without root could have a systemwide effect). uninstall Remove everything that was installed. dist Creates tarball. windist Creates windows distro zip after cross-compilation on linux. windir Same as windist, but doesn't actually creates the zip (leaves the directory with the would-be zip contents). Makefile.conf You can write your often-used compilation options into the Makefile.conf file (using Makefile.conf.in as a template), then invoke make by $ make -f Makefile.conf [target]