Version 4.20 (24/May/2020)
- Support for vc16 (Visual Studio 2019)
- Support for Mingw6
- Support for Linux5
- Some support for EmScripten
- Improved support for arm64
- Fixed DEPENDDIR folder creation
Version 4.16 (11/May/2018)
- New definitions USE_CPP11 to use C++ 11 standard support in g++.
- New support for arm64 system
- New support for Visua C++ 15 (Visual Studio 2017)
Version 4.15 (06/May/2016)
- New definitions USE_FTGL, USE_FREETYPE and USE_ZLIB. In Linux Freetype
and Zlib will use headers and binaries from the system.
Version 4.14 (15/Sep/2015)
- IUP, CD and IM bindings for Lua will now be located in Lua5x subfolders.
To use old location set USE_OLDLIBLUA.
- support for arm and Raspberry Pi.
Version 4.13 (24/Apr/2015)
- New environment variables in Linux: TEC_DIST, TEC_DISTNAME and
TEC_DISTVERSION, to identify the Linux distribution.
Version 4.12 (03/Feb/2015) - Internal
- Support for Lua 5.3 (USE_LUA53).
Version 4.11 (19/Nov/2014)
- Changed to use GTK 3 by default starting in Linux 3.13 (Ubuntu 14).
Version 4.10 (12/Ago/2014) - Internal
- New USE_IUPGLCONTROLS definition.
Version 4.9 (25/Jul/2014)
- Fixed MingW "dllw4" dependencies.
- Fixed fontconfig dependency for CD.
Version 4.8 (21/Nov/2013)
- Support for Haiku system.
- Support for Visual C++ 12 (Visual Studio 2013).
Version 4.7 (08/May/2013)
- New USE_CLR definition.
- Improved vc11 support.
Version 4.6 (26/Nov/2012)
- Fixed support for MacOSX 10.7.
- Dependencies for Cygwin are now stored with the ".cdep" extension.
- Improved support for x86 in SunOS.
- Improved Freetype and Zlib dependency management for GTK and CD
- New support for GTK+ version 3. New USE_GTK3 definition.
- New support for Visual C++ 11 (Visual Studio 2012).
- Improved dependency generation to avoid ":" in file paths in Windows.
Version 4.5 (20/Dec/2011)
- New definition NO_LOCAL_LD to avoid using the "ld" tool as linker in IRIX and
- Fixed support for GTK in Ubuntu 11.
- MingW4 now has support for GDI+.
- New support for LH files using the NO_LUAOBJECT, LHDIR, and USE_LH_SUBDIR
- New definition USE_OPENMP.
- New TEC_UNAME in Windows: mingw4_64.
Version 4.4 (15/Feb/2011)
- Fixed dllg4 and dllw4 import library names.
- New USE_BIN2C_LUA definition so bin2c.lua can be used instead of the
- New IUP_LIB, IUP_INC, CD_LIB, CD_INC, IM_LIB, and IM_INC definitions so
the traditional locations can be replaced. For example: instead of
$(IUP)/include it will use $(IUP_INC) if defined, or $(IUP)/lib/$(TEC_UNAME)
it will use $(IUP_LIB) if defined.
Version 4.3 (12/Nov/2010)
- Improved sysinfo target with more information. Improved Cygwin support
in tecmake.mak. Improved support for FreeBSD in 64bits. Thanks to Kmx.
- New USE_PKGCONFIG definition, used when USE_GTK=Yes, to get GTK
compilation parameters from pkg-config. Thanks to Kmx.
- Improved support for tecmakewin.mak to use it without installation.
- MingW minimum installation guide do not need Cygwin anymore.
- Overridden dependencies of IUP to GTK/MOTIF and CD/OPENGL/MOTIF/GTK to
X11 are now done only if USE_STATIC is defined.
Version 4.2 (19/Oct/2010)
- USE_NODEPEND renamed to NO_DEPEND, old one still works.
- New LUA_SUFFIX, IUP_SUFFIX, and CD_SUFFIX definitions.
- Fixed debug flag for Visual C++ 8 and above.
- New NO_GTK_DEFAULT definition to avoid the GTK_DEFAULT definition logic.
Version 4.1 (22/Jun/2010)
- Fixed TEC_SYSARCH in MacOSX 10.6 (Snow Leopard).
- Changed "Darwin" TEC_UNAME to "MacOS".
- Added support for Visual C++ 10 (Visual Studio 2010).
- In UNIX, USE_GTK now implies also in USE_GDK.
- Removed USE_OLDNAMES support.
- New USE_CAIRO definition, to use Cairo with X11 or Win32 base drivers
(NOT for GDK).
- New USE_LOH_SUBDIR definition.
- New NO_ECHO to disable the echo of commands.
Version 4.0 (23/Apr/2010)
- Allow GTK_BASE to be defined outside so it can redefine the GTK
- Removed dist and inst rules. Removed rules that use file system links.
Removed RCS support. Removed support for color messages.
- Tecmake Compact merged with Tecmake Posix.
- Fixed TEC_BYTEORDER when TEC_SYSARCH=x64.
Version 3.21 (18/Jan/2010)
- New USE_GDK variable that affects which CD core library to use.
- Fixed support for GTK in Darwin to use the newest GTK Framework.
- New USE_LUA52 variable.
- New target mingw4 to build static libraries or executables using MingW
with gcc 4. Support for linking DLLs using USE_DLL.
- New targets gcc4 and cygw17 to build using Cygwin version 1.7
- New targets dllw4 and dllg4 to build a DLL using MingW or Cygwin with gcc 4
- Fixed names of DLL and import library for Cygwin when using posix.
- Removed USE_IUP3BETA definition and gcc2 support.
Version 3.20 (28/09/2009)
- New DBG_LIB_DIR and TEC_UNAME_LIB_DIR variables.
Version 3.19 (26/06/2009)
- Fixed APPTYPE=CONSOLE for Watcom, GCC and Borland.
- TEC_UNAME_DIR can now be configured in the "config.mak" file.
- Fixed Tecmake Compact version for Linux in 64 bits.
- New NO_LUALINK definition in UNIX.
Version 3.18 (04/Apr/2009)
- Added TEC_TOOLCHAIN that prefixes all build tools.
- Replaced all references of gcc and g++ by $(CC) and $(CPPC).
- New USE_QT definition.
Version 3.17 (15/Dec/2008)
- Fixed TEC_BYTEORDER for arm architecture. Thanks to Otfried Cheong.
- New LUA_INC and LUA_LIB definitions so the Lua includes and libraries
location can be overwritten. Thanks to Otfried Cheong.
- Changed TEC_SYSARCH value from x86_64 to x64.
- Xpm is now included in LIBS only if USE_MOTIF is used.
- New definition GTK_DEFAULT, defined in Linux, Darwin and FreeBSD.
- New USE_IUP3 and USE_IUP3BETA definitions.
Version 3.16 (19/Nov/2008)
- New LOHPACK definition to allow generating a single LOH file that will
pre-load all the Lua modules of the application. Thanks to Renato Maia .
- Changed default TECTOOLS_HOME definition in "tecmake_compact.mak" to use
a relative path and be more flexible.
- Fixed LOHDIR creation missing.
Version 3.15 (17/Oct/2008)
- Fixed dependencies path for INCLUDES in Windows, so now "c:/", "d:/", "x:/"
will work in dependencies. Other drivers will require editing the "tecmakewin.mak"
file. Let me know if you need some.
- Removed LCFLAGS in UNIX. Reviewed definition of LFLAGS and LCFLAGS.
- Removed glaux.lib when using USE_OPENGL and Visual C++ 9 (2008).
- Removed USE_NEWNAMES and added USE_OLDNAMES, now the default is to use
the new names.
Version 3.14 (01/Oct/2008)
- New Tecmake Compact makefile for distribution with source code and no
- New "shortpath.exe" Windows executable to help users find the short name
version of a long file name that has spaces.
- New comments in "tecmake.bat" to simplify installation. New VC9SDK
variable to help VC9 configuration.
- Now GEN_MANIFEST will automatically generate and embed the manifest in the
DLL or EXE. By default GEN_MANIFEST=Yes for DLLs and GEN_MANIFEST=NO for
- New definition BUILD_DYLIB for MacOSX to build dynamic libraries instead
of shared code (bundle).
- Included freetype library when USE_CD and USE_NEWNAMES are defined, except in UNIX when
USE_GTK or USE_XRENDER are defined.
- New definitions for library inclusion USE_GDIPLUS and USE_XRENDER.
- Changed cdiup to iupcd and cdluaiup to iupluacd if USE_NEWNAMES is
- Fixed GTK build when using gcc in Windows (added flag --mms-bitfields).
- Renamed internal TMPDIR to avoid conflict with systems environment
(affected "ar" in MacOS). Thanks to Rodrigo Carneiro Henrique and Cristina
- New MSVC8 and MSVC9 definitions to help using the correct manifest.
- Added LFLAGS to LCFLAGS for all systems.
Version 3.13 (16/Mar/2008)
- Fixed VC9_64 paths.
- Lua binaries now do not need to be in PATH.
- New EXTRAINCS definition.
Version 3.12 (26/Nov/2007)
- Removed STDINCS from dependencies generation. Reviewed internal STDINCS
definition to include all compiler and external libraries includes.
- Changed DBG_DIR to add "d" prefix to only the current project folders,
instead of changing the TEC_UNAME definition.
- New support for Visual C++ 9.
- New support for MacOS X on Intel. Changed OpenMotif path to use the Open
Version 3.11 (15/Apr/2007)
- Changed IUP, IM and CD binding to Lua 3 library names to include a "3"
- Fixed 64-bits build in a 64-bits Windows system.
- Support for HP-UX
Version 3.10 (26/Nov/2006)
- New pre-defined variables: TEC_LITTLEENDIAN, TEC_BIGENDIAN, TEC_32, TEC_64
- Changed LOH generation. The file names are now dependent on the word size
and byte order. In Intel 32-bits computers the file name is the same as
previously, but for other architectures the file name now has a suffix. See
the Tips on how to change the
C source code.
Version 3.9.5 (30/Oct/2006)
- All "yes" values changed to "Yes" in accordance to the documentation.
- Removed old definitions USE_IUPOLDNAME and USE_IUPECONTROLS.
- New support for GTK in Windows and UNIX.
- New definitions USE_IUPBETA, USE_CDBETA, USE_IMBETA.
- New parameter EXTRADIR to create an extra directory or directories.
- New platforms "vc8_64" and "dll8_64" that add support for Visual C++ building for
- Fixed "tecmake.bat" to include the Tecgraf tools environment variables like in the tec_uname script in UNIX.
- New documentation layout and organization.
Version 3.9.4 (03/Apr/2006)
- Fixed some typos. Thanks to Reuben Thomas.
- Fixed RC definition for MingW. Thanks to Reuben Thomas.
- Added Guide / Usage section to the documentation.
- Added "tecmakewin.bsh" to the distribution. Use this file to build for Windows, using mingw in UNIX. Thanks to
Version 3.9.3 (31/Mar/2006)
Version 3.9.2 (31/Jan/2006)
- Removed -Wmissing-prototypes option from gcc because of a gcc version 4 warning for C++.
Version 3.9.1 (15/Dec/2005)
- Removed definitions for USE_IUPLUA5, USE_CDLUA5 and USE_IMLUA5. You need only to define
USE_IUPLUA/USE_CDLUA/USE_IMLUA, and you must define which Lua you will use using USE_LUA/USE_LUA5/USE_LUA51.
- "geraso" script is not use anymore to build dynamic libraries. The build is now integrated in "tecmake.mak".
Version 3.9 (28/Nov/2005)
- New support for USE_CDLUA5 and USE_IMLUA5.
- New support for USE_LUA51.
- New support for building 64 bits libraries and applications in AIX, IRIX and SunOS.
- New support for Visual C++ 8 (2005).
- Updated support for IUP using the new library names.
Version 3.8 (26/Jul/2005)
- Removed gcc hardcoded path from tec_uname scripts.
- New support for TEC_UNAME=cygw51 in Windows, to use Cygwin with the same Tecmake configuration as in UNIX.
- New support for TEC_UNAME=Linux26g4 for Fedora Core 4 with gcc 4.
Version 3.7 (10/Jun/2005)
- Fixed support for building executables in MingW.
- USE_IUPCONTROLS now implies USE_CD.
- NO_SCRIPTS if defined will disable the generation of shell scripts in the current folder for executables.
Version 3.6 (23/May/2005)
- All Messages are now in English. Many internal comments are still in Portuguese.
- New support for FreeBSD.
- Fixed support for shared libraries in Mac OS X.
- Borland C++ 5.5 is working again. New support for C++ Builder X using Borland C++ 5.6.
- New support for DLLs in VC7 using TEC_UNAME=dll7.
- New support for shared libraries in AIX using gcc.
- New support for USE_LUA50 (LuaBinaries Release 2).
- New definitions: SRCLUADIR, LOHDIR, DEPENDDIR, NO_SCRIPTS, EXTRA_CONFIG.
Version 3.5 (28/Mar/2005)
- New DBG_DIR flag. DBG will not change path anymore.
- Fixed optimization in VC7.
- Support for Linux using 64-bits.
- Support for gcc in Darwin (Mac OS X).
- Support for IUPECONTROLS.
- Support for VC71 path (exceptional cases only, should use VC7 definitions only).
Version 3.4 (23/Nov/2004)
- Fixed some incorrect links generated in include folder.
- New tec_uname.bsh script for bash shell usage.
Version 3.3 (23/Apr/2004)
- New rules for "*.cc" and "*.cxx".
- Documentation and scripts were updated to clarify and simplify some installation issues.
- New variable USE_NOCYGWIN to disable the usage of the cygwin DLL.
Version 3.2 (02/Aug/2003)
- New variable USE_NODEPEND to disables the usage of the dependencies file.
- Revised the includes and libraries path for X11, Motif and OpenGL in UNIX.
Version 3.1 (17/Jul/2003)
- Configuration is now all made in the scripts "tecmake.bat" and "tecmake", simplifying installation in different
- New compilers in Windows: "gcc3" for Cygwin, "owc1" for Open Watcom, mingw3 for gcc using MingW (compatible with
- Support to Borland C++ 5.5 with unidentified linking problems.
- Support to VC5, Watcom 10.6 and 11 removed.
- "tecmake makefile" generates a default makefile for UNIX that can be used as base.
- "tecmake_pause.bat" allows configuring a pause after each compilation. Useful for "tecmake all" in Windows.
- The distribution now includes an exemplary script ("tec_uname") to prepare variables in the UNIX environment for
- "tecmake" is now a shell script in UNIX, which can be called from other scripts. The use of the old Alias was not
working in scripts.
- New variable USE_MT to configure the use of MSVCRT as a static library with multithread support.
- New variables for the use of Tecgraf libraries: USE_IUPLUA4, USE_IUPLUA5, USE_IUPCONTROLS, USE_LUA5.
- New variable USE_GLUT.
- Support to gcc2 and gcc3 in the same installation of Cygwin.
- Update for use with IUP 2.0, with new names of Lua4 libs.
- Support to the compilation of .rc files with Cygwin.
Version 3.0.1 (19/Jul/2002)
- Minor corrections.
- Better policy for clean-* targets so that only the files in the given makefile will be deleted.
- New targets: clean-exp, clean-lohs, clean-ALLDIR.
Version 3.0 (28/May/2002)
- Libmake and appmake are turned into a single product, tecmake.
Variables and parameters removed:
update, optimize, release, WINFLAGS, USE_*_BETA
Variables and parameters modified:
- In Windows it is no longer necessary to use "\\" to separate folders, use always "/".
- The name of the dependencies file was changed, now it is "<lib/appname>.dep".
- The use of the name "config.mak" is no longer required, but for such one must define parameter "MF=name" in the
- The name of the LUA variable was changed to EXPLUA.
- The name of the LIB variable was changed to LIBS.
- It is now possible to work with subfolders in folder "src".
- The LED variable was replaced with EXPCFG, more general.
- RCS is no longer default, it needs to be activated by variable USE_RCS in "config.mak".
New variables and parameters:
- SRCDIR allows specifying a subfolder for source files.
- SRCLUA allows specifying LUA files to be compiled to LO.
- EXTRASRC allows specifying additional source files for distribution.
- DBG allows activating depuration flags.
- USE_X11, USE_LUA, USE_LUA4, USE_OPENGL to be used in the respective libraries.
- USE_CC to use the new "cc" compiler.
- Applications for all compilers in Windows are generated.
- New compilers in Windows: vc7, gcc2 (Cygwin) and wc11 (OpenWatcom).