diff options
| -rw-r--r-- | html/en/download_tips.html | 154 | ||||
| -rw-r--r-- | src/tecmake_compact.mak | 206 | 
2 files changed, 218 insertions, 142 deletions
diff --git a/html/en/download_tips.html b/html/en/download_tips.html index ac5fdf2..f010ee4 100644 --- a/html/en/download_tips.html +++ b/html/en/download_tips.html @@ -10,11 +10,14 @@  .style1 {  	font-family: Tahoma;  } +.style2 { +	border-style: solid; +}  </style>  </head>  <body> -<h2>Tecgraf/PUC-Rio Library Download Tips</h2> +<h1>Tecgraf/PUC-Rio Library Download Tips</h1>  <p>All the libraries were build using <b>Tecmake</b>. Please use it if you intend to recompile the sources.   <b>Tecmake</b>     can be found at  @@ -35,8 +38,8 @@ http://sourceforge.net/project/showfiles.php?group_id=241310</a>.<br>    "config.mak" files for <b>Tecmake</b> are also available.</p>  <p>The DLLs were built using the <b>cdecl</b> calling convention. This should be   a problem for Visual Basic users.</p> -<p>In Visual C++ we use the single thread C Run Time Library for static libraries and the multi thread C RTL for DLLs.  -  Because this is the default in Visual Studio for new projects. Since Visual C++ 8, both use the multi thread C RTL.</p> +<p>In Visual C++ 6 and 7 we use the single thread C Run Time Library for static libraries and the multi thread C RTL for DLLs.  +  Because this were the default in Visual Studio for new projects. Since Visual C++ 8, both use the multithread C RTL.</p>  <h3><a name="pack">Packaging</a></h3>  <p>The package files available for download are named according to the platform where they were build.</p>  <p>In UNIX all strings are based in the result of the command "uname -a". The package name is a concatenation of the  @@ -62,7 +65,7 @@ Linux  with Kernel version 2.6 built with gcc 4.<br>  <b>iup2_4_Win32_vc8_lib.tar.gz</b> = IUP 2.4 32-bits Static Libraries and Includes for Windows to use with Visual C++   8 (2005).<br>  <b>iup2_4_Win32_dll9_lib.tar.gz</b> = IUP 2.4 32-bits Dynamic Libraries (DLLs),  -stub libraries and Includes for Windows to use with Visual C++  +import libraries and Includes for Windows to use with Visual C++   9 (2008).<br>  <b>iup2_4_Docs_html.tar.gz</b> = IUP 2.4 documentation files in HTML format (the web site files can be browsed       locally).<br> @@ -115,203 +118,214 @@ http://www.tecgraf.puc-rio.br/iup/en/ide_guide/eclipse.html</a>        <p>The following platforms can be available:</p>  <table border="0" cellpadding="3" style="border-collapse: collapse" bordercolor="#111111" align="center">    <tr> +    <th bgcolor="#DDDDDD" align="right" class="style2">Package Name</th> +    <th bgcolor="#DDDDDD" class="style2">Description</th> +  </tr> +  <tr>      <td bgcolor="#DDDDDD" align="right"><b>AIX43</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> IBM AIX 4.3 (ppc) / gcc 2.95 / Motif 2.1  +    <td bgcolor="#DDDDDD"> IBM AIX 4.3 (ppc) / gcc 2.95 / Motif 2.1       </td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>IRIX65</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> SGI IRIX 6.5 (mips) / gcc 3.0 / Motif 2.1  +    <td bgcolor="#C0C0C0"> SGI IRIX 6.5 (mips) / gcc 3.0 / Motif 2.1       </td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>IRIX6465</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> SGI IRIX 6.5 (mips) / gcc 3.3 / Motif 1.2</td> +    <td bgcolor="#C0C0C0"> SGI IRIX 6.5 (mips) / gcc 3.3 / Motif 1.2</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Linux24</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Red Hat 7.3 (x86) / Kernel 2.4 / gcc 2.95 / Open Motif 2.1  +    <td bgcolor="#DDDDDD"> Red Hat 7.3 (x86) / Kernel 2.4 / gcc 2.95 / Open Motif 2.1       / GTK 2.0</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Linux24g3</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> CentOS 3.9 (x86) / Kernel 2.4 / gcc 3.2 / Open Motif 2.2 +    <td bgcolor="#DDDDDD"> CentOS 3.9 (x86) / Kernel 2.4 / gcc 3.2 / Open Motif 2.2  	<sup><span class="style1">3</span></sup> / GTK 2.2</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right" style="height: 27px"><b>Linux24g3_64  </b></td> -    <td bgcolor="#DDDDDD" style="height: 27px; width: 580px;"> Red Hat E.L. WS 3 (x64) / Kernel 2.4 / gcc 3.2 / Open Motif  +    <td bgcolor="#DDDDDD"> Red Hat E.L. WS 3 (x64) / Kernel 2.4 / gcc 3.2 / Open Motif         2.2 <sup><span class="style1">3</span></sup> / GTK 2.2</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Linux26</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> CentOS 4.6 (x86) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 +    <td bgcolor="#DDDDDD"> CentOS 4.6 (x86) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2  	<sup><span class="style1">3</span></sup> / GTK 2.4</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Linux26_64</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> CentOS 4.6 (x64) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 +    <td bgcolor="#DDDDDD"> CentOS 4.6 (x64) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2  	<sup><span class="style1">3</span></sup> / GTK 2.4</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Linux26g4</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> CentOS 5.3 (x86) / Kernel 2.6 / gcc 4.1 / Open Motif  +    <td bgcolor="#DDDDDD"> CentOS 5.3 (x86) / Kernel 2.6 / gcc 4.1 / Open Motif   	2.2 <sup><span class="style1">3</span></sup> / GTK 2.12</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><strong>Linux26g4_64</strong></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> CentOS 5.2 (x64) / Kernel 2.6 / gcc 4.1 /  +    <td bgcolor="#DDDDDD"> CentOS 5.2 (x64) / Kernel 2.6 / gcc 4.1 /       OpenMotif 2.2 <sup><span class="style1">3</span></sup> / GTK 2.10</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Linux26g4ppc</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Ubuntu 7.10 (ppc) / Kernel 2.6 / gcc 4.1 / Open Motif 2.2 +    <td bgcolor="#DDDDDD"> Ubuntu 7.10 (ppc) / Kernel 2.6 / gcc 4.1 / Open Motif 2.2  	<sup><span class="style1">3</span></sup> / GTK 2.?</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><strong>Linux26_ia64</strong></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Red Hat E.L. AS 4 (ia64) / Kernel 2.6 / gcc 3.4 /  +    <td bgcolor="#DDDDDD"> Red Hat E.L. AS 4 (ia64) / Kernel 2.6 / gcc 3.4 /       Open Motif 2.2 <sup><span class="style1">3</span></sup> / GTK 2.4</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>SunOS57</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Sun Solaris 7 (sparc) / gcc 2.95 / Motif 2.1  +    <td bgcolor="#C0C0C0"> Sun Solaris 7 (sparc) / gcc 2.95 / Motif 2.1       </td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>SunOS58</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Sun Solaris 8 (sparc) / gcc 3.4 / Motif 2.1  +    <td bgcolor="#C0C0C0"> Sun Solaris 8 (sparc) / gcc 3.4 / Motif 2.1       </td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><strong>SunOS510x86</strong></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Sun Solaris 10 (x86) / gcc 3.3 / Motif 2.1  +    <td bgcolor="#C0C0C0"> Sun Solaris 10 (x86) / gcc 3.3 / Motif 2.1       </td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>FreeBSD54</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Free BSD 5.4 (x86) / gcc 3.4 / Open Motif 2.2  +    <td bgcolor="#DDDDDD"> Free BSD 5.4 (x86) / gcc 3.4 / Open Motif 2.2       <sup><span class="style1">3</span></sup></td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Darwin811</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Mac OS X 10.4.11 (ppc)  +    <td bgcolor="#C0C0C0"> Mac OS X 10.4.11 (ppc)   	[Tiger] / Darwin Kernel 8.11 / gcc 4.0 /       <a href="http://www.ist-inc.com/DOWNLOADS/motif_download.html">Open Motif 2.1</a></td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Darwin811x86</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Mac OS X 10.4.11 (x86)  -	[Tiger] / Darwin Kernel 8.11 / gcc 4.0 /  -    <a href="http://www.ist-inc.com/DOWNLOADS/motif_download.html">Open Motif 2.1</a></td> +    <td bgcolor="#C0C0C0"> Mac OS X 10.4.11 (x86)  +	[Tiger] / Darwin Kernel 8.11 / gcc 4.0 / Open Motif 2.1</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Darwin94x86</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Mac OS X 10.5.4 (x86)  -	[Leopard] / Darwin Kernel 9.4 / gcc 4.0 /  -    <a href="http://www.ist-inc.com/DOWNLOADS/motif_download.html">Open Motif 2.1</a></td> +    <td bgcolor="#C0C0C0"> Mac OS X 10.5.4 (x86)  +	[Leopard] / Darwin Kernel 9.4 / gcc 4.0 / Open Motif 2.1</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win32_vc6</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Microsoft Visual C++ 6 (static RTL/single thread)</td> +    <td bgcolor="#DDDDDD"> Static library built with Microsoft Visual C++ 6 (static RTL/single thread)</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win32_vc7</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Microsoft Visual C++ 7.1 (.NET 2003) (static RTL/single thread)<br> -       Also compatible with Microsoft Visual C++ Toolkit 2003 -<br> -       <a href="http://msdn.microsoft.com/visualc/vctoolkit2003/" style="text-decoration: none">http://msdn.microsoft.com/visualc/vctoolkit2003/</a> -    ¹</td> +    <td bgcolor="#DDDDDD"> Static library built with Microsoft Visual C++ 7.1 (.NET 2003) (static RTL/single thread)<br> +      	 Also compatible with Microsoft Visual C++ Toolkit 2003</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win32_vc8</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Microsoft Visual C++ 8.0 (2005) (static RTL/multithread)<br> -       Also compatible with Microsoft Visual C++ 2005 Express Edition -<br> -       <a style="text-decoration: none" href="http://msdn.microsoft.com/vstudio/express/visualc/">http://msdn.microsoft.com/vstudio/express/visualc/</a> -    ¹</td> +    <td bgcolor="#DDDDDD"> Static library built with Microsoft Visual C++ 8.0 (2005) (static RTL/multithread)<br> +      	 Also compatible with Microsoft Visual C++ 2005 Express Edition</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win32_vc9</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Microsoft Visual C++ 9.0 (2008) (static RTL/multithread)<br> +    <td bgcolor="#DDDDDD"> Static library built with Microsoft Visual C++ 9.0 (2008) (static RTL/multithread)<br>         Also compatible with Microsoft Visual C++ 2008 Express Edition -<br> -       <a style="text-decoration: none" href="http://msdn.microsoft.com/vstudio/express/visualc/">http://msdn.microsoft.com/vstudio/express/visualc/</a> +       <a href="http://www.microsoft.com/express/vc/">http://www.microsoft.com/express/vc/</a>      ¹</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Win32_dll6</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> built using vc6, creates dependency with MSVCRT.DLL<br> -       (either other libraries or new applications).</td> +    <td bgcolor="#C0C0C0"> DLL and import library built  +	with vc6, creates dependency with MSVCRT.DLL</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Win32_dll7</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> built using vc7, creates dependency with MSVCR71.DLL<br> -       (either other libraries or new applications).</td> +    <td bgcolor="#C0C0C0"> DLL and import library built  +	with vc7, creates dependency with MSVCR71.DLL</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Win32_dll8</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> built using vc8, creates dependency with MSVCR80.DLL<br> -       (either other libraries or new applications).</td> +    <td bgcolor="#C0C0C0"> DLL and import library built  +	with vc8, creates dependency with MSVCR80.DLL</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Win32_dll9</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> built using vc9, creates dependency with MSVCR90.DLL<br> -       (either other libraries or new applications).</td> +    <td bgcolor="#C0C0C0"> DLL and import library built  +	with vc9, creates dependency with MSVCR90.DLL</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win64_vc8</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px">  Same as <b>Win32_vc8</b> but for 64-bits  -    systems using x64 standard.</td> +    <td bgcolor="#DDDDDD"> Same as <b>Win32_vc8</b> but for 64-bits  +    systems using the x64 standard.</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win64_vc9</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px">  Same as <b>Win32_vc9</b> but for 64-bits  -    systems using x64 standard.</td> +    <td bgcolor="#DDDDDD"> Same as <b>Win32_vc9</b> but for 64-bits  +    systems using the x64 standard.</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win64_dll8</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px">  Same as <b>Win32_dll8</b> but for 64-bits  -    systems using x64 standard.</td> +    <td bgcolor="#DDDDDD"> Same as <b>Win32_dll8</b> but for 64-bits  +    systems using the x64 standard.</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win64_dll9</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px">  Same as <b>Win32_dll9</b> but for 64-bits  -    systems using x64 standard.</td> +    <td bgcolor="#DDDDDD"> Same as <b>Win32_dll9</b> but for 64-bits  +    systems using the x64 standard.</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Win32_gcc3</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Cygwin gcc 3.4  (Depends on Cygwin DLL 1.5) - +    <td bgcolor="#C0C0C0"> Static library built with Cygwin gcc 3.4  (Depends on Cygwin  +	DLL 1.5)</td> +  </tr> +  <tr> +    <td bgcolor="#C0C0C0" align="right"><b>Win32_gcc4</b></td> +    <td bgcolor="#C0C0C0"> Static library built with Cygwin gcc 4.3  (Depends on Cygwin DLL 1.7) -        <a href="http://www.cygwin.com/" style="text-decoration: none">http://www.cygwin.com/</a>      ¹</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Win32_cygw15</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Same as <b>Win32_gcc3</b>, but using the Cygwin Posix  +    <td bgcolor="#C0C0C0"> Same as <b>Win32_gcc3</b>, but using the Cygwin Posix  +    system</td> +  </tr> +  <tr> +    <td bgcolor="#C0C0C0" align="right"><b>Win32_cygw17</b></td> +    <td bgcolor="#C0C0C0"> Same as <b>Win32_gcc4</b>, but using the Cygwin Posix       system</td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Win32_mingw3</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> MingW gcc 3.4 -  +    <td bgcolor="#C0C0C0"> Static library built with MingW gcc 3.4</td> +  </tr> +  <tr> +    <td bgcolor="#C0C0C0" align="right"><b>Win32_mingw4</b></td> +    <td bgcolor="#C0C0C0"> Static library built with MingW gcc 4.3 -       <a href="http://www.mingw.org/" style="text-decoration: none">http://www.mingw.org/</a>      ¹<br> -       Also compatible with Dev-C++ -  +	 Also compatible with Dev-C++ -       <a href="http://www.bloodshed.net/devcpp.html" style="text-decoration: none">http://www.bloodshed.net/devcpp.html</a><br>   and with Code Blocks - <a href="http://www.codeblocks.org/">  	http://www.codeblocks.org/</a>      ¹</td>    </tr>    <tr> -    <td bgcolor="#C0C0C0" align="right"><b>Win32_mingw4</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> MingW gcc 4.4 -  -    <a href="http://www.mingw.org/" style="text-decoration: none">http://www.mingw.org/</a> -    ¹</td> +    <td bgcolor="#C0C0C0" align="right"><b>Win32_dllw4</b></td> +    <td bgcolor="#C0C0C0"> DLL and import library built  +	with MingW gcc 4.3</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win32_owc1</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Open Watcom 1.5 -  +    <td bgcolor="#DDDDDD"> Static library built with Open Watcom 1.5 -       <a href="http://www.openwatcom.org/" style="text-decoration: none">http://www.openwatcom.org/</a></td>    </tr>    <tr>      <td bgcolor="#C0C0C0" align="right"><b>Win32_bc56</b></td> -    <td bgcolor="#C0C0C0" style="width: 580px"> Borland C++ BuilderX 1.0 / Borland C++ 5.6 Compiler -  +    <td bgcolor="#C0C0C0"> Static library built with Borland C++ BuilderX 1.0 / Borland C++ 5.6 Compiler -       <br />         <a href="http://www.borland.com/products/downloads/download_cbuilderx.html" style="text-decoration: none">http://www.borland.com/products/downloads/download_cbuilderx.html</a>        <font face="Times New Roman">¹,²</font><br> @@ -320,16 +334,22 @@ http://www.tecgraf.puc-rio.br/iup/en/ide_guide/eclipse.html</a>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win32_bin</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Executables only for Windows NT/2000/XP</td> +    <td bgcolor="#DDDDDD"> Executables only for Windows NT/2000/XP (can be  +	generated by any of the above compilers)</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><b>Win64_bin</b></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Same as <b>Win32_bin</b> but for 64-bits systems  +    <td bgcolor="#DDDDDD"> Same as <b>Win32_bin</b> but for 64-bits systems       using the x64 standard</td>    </tr>    <tr>      <td bgcolor="#DDDDDD" align="right"><strong>Win32_cygw15_bin</strong></td> -    <td bgcolor="#DDDDDD" style="width: 580px"> Executables only for Windows NT/2000/XP, but  +    <td bgcolor="#DDDDDD"> Executables only for Windows NT/2000/XP, but  +    using the Cygwin Posix system</td> +  </tr> +  <tr> +    <td bgcolor="#DDDDDD" align="right"><strong>Win32_cygw17_bin</strong></td> +    <td bgcolor="#DDDDDD"> Executables only for Windows NT/2000/XP, but       using the Cygwin Posix system</td>    </tr>  </table> diff --git a/src/tecmake_compact.mak b/src/tecmake_compact.mak index d4fe0af..9d2cccf 100644 --- a/src/tecmake_compact.mak +++ b/src/tecmake_compact.mak @@ -1,12 +1,15 @@  #-------------------------------------------------------------------------#  #- Tecmake  (Compact Version)                                            -#  #- Generic Makefile to build applications and libraries at TeCGraf       -# -#- The user makefile usually has the name "config.mak".                  -#    +#- The user makefile usually has the name "config.mak".                  -#  #-------------------------------------------------------------------------# +#---------------------------------#  # Tecmake Version -VERSION = 3.19 +VERSION = 3.21 + +#---------------------------------#  # First target   .PHONY: build  build: tecmake @@ -162,6 +165,9 @@ STDLFLAGS  := r  DEBUGFLAGS := -g    STDLDFLAGS := -shared  DLIBEXT := so +DLIBPRE := lib +APPEXT := +  ifneq ($(findstring Linux, $(TEC_UNAME)), )    GTK_DEFAULT = Yes @@ -176,6 +182,7 @@ ifneq ($(findstring Linux24, $(TEC_UNAME)), )    GTK_DEFAULT :=  endif   +  #---------------------------------#  # Build Tools @@ -279,6 +286,7 @@ ifdef USE_CC    CC := cc    CPPC := CC    STDFLAGS =  +  UNAMES := $(UNAMES_CC)    ifdef USE_CC_DIR      TEC_UNAME := $(TEC_UNAME)cc    endif @@ -297,7 +305,11 @@ ifneq ($(findstring gcc, $(TEC_UNAME)), )  endif  TEC_UNAME_DIR ?= $(TEC_UNAME) +TEC_UNAME_LIB_DIR ?= $(TEC_UNAME)  ifdef DBG +  ifdef DBG_LIB_DIR +    TEC_UNAME_LIB_DIR := $(TEC_UNAME_DIR)d +  endif    ifdef DBG_DIR      TEC_UNAME_DIR := $(TEC_UNAME_DIR)d    endif @@ -455,7 +467,7 @@ ifneq ($(findstring Darwin, $(TEC_UNAME)), )    MOTIF_INC := /usr/OpenMotif/include    MOTIF_LIB := /usr/OpenMotif/lib    ifdef BUILD_DYLIB -    STDLDFLAGS := -dynamiclib -install_name lib$(TARGETNAME).dylib +    STDLDFLAGS := -dynamiclib -Wl -headerpad_max_install_names -undefined dynamic_lookup -install_name lib$(TARGETNAME).dylib      DLIBEXT := dylib    else      STDLDFLAGS := -bundle -undefined dynamic_lookup @@ -468,12 +480,11 @@ ifneq ($(findstring FreeBSD, $(TEC_UNAME)), )  endif -################################ +#---------------------------------#  # Allows an extra configuration file.  ifdef EXTRA_CONFIG  include $(EXTRA_CONFIG)  endif -################################  #---------------------------------# @@ -485,6 +496,7 @@ CD    ?= $(TECTOOLS_HOME)/cd  IM    ?= $(TECTOOLS_HOME)/im  LUA   ?= $(TECTOOLS_HOME)/lua  LUA51 ?= $(TECTOOLS_HOME)/lua5.1 +LUA52 ?= $(TECTOOLS_HOME)/lua52  #---------------------------------# @@ -492,7 +504,7 @@ LUA51 ?= $(TECTOOLS_HOME)/lua5.1  # Library order:  #   user + iupcd + cd + iup + motif + X -# Library path order is the oposite +# Library path order is reversed  ifdef USE_LUA    LUASUFX := @@ -529,12 +541,18 @@ ifdef USE_LUA51    NO_LUALIB := Yes  endif +ifdef USE_LUA52 +  LUASUFX := 52 +  LIBLUASUFX := 52 +  override USE_LUA = Yes +  LUA := $(LUA52) +  NO_LUALIB := Yes +endif +  ifdef USE_IUP3    override USE_IUP = Yes -endif  - -ifdef USE_IUP3BETA -  IUP := $(IUP)3 +# Inside Tecgraf only   +#  IUP := $(IUP)3  endif   ifdef USE_IUPBETA @@ -553,19 +571,23 @@ ifdef USE_GLUT    override USE_OPENGL = Yes  endif +ifdef USE_GDK +  override USE_GTK = Yes +endif +  ifdef USE_IUPCONTROLS    override USE_CD = Yes    override USE_IUP = Yes    ifdef USE_IUPLUA      ifdef USE_STATIC -      SLIB += $(IUP)/lib/$(TEC_UNAME)/libiupluacontrols$(LIBLUASUFX).a +      SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupluacontrols$(LIBLUASUFX).a      else        LIBS += iupluacontrols$(LIBLUASUFX)      endif      override USE_CDLUA = Yes    endif    ifdef USE_STATIC -    SLIB += $(IUP)/lib/$(TEC_UNAME)/libiupcontrols.a +    SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupcontrols.a    else      LIBS += iupcontrols    endif @@ -574,7 +596,7 @@ endif  ifdef USE_IMLUA    override USE_IM = Yes    ifdef USE_STATIC -    SLIB += $(IM)/lib/$(TEC_UNAME)/libimlua$(LIBLUASUFX).a +    SLIB += $(IM)/lib/$(TEC_UNAME_LIB_DIR)/libimlua$(LIBLUASUFX).a    else      LIBS += imlua$(LIBLUASUFX)    endif @@ -585,10 +607,10 @@ ifdef USE_CDLUA    ifdef USE_STATIC      ifdef USE_IUP        ifdef USE_OLDNAMES -        SLIB += $(CD)/lib/$(TEC_UNAME)/libcdluaiup$(LIBLUASUFX).a +        SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdluaiup$(LIBLUASUFX).a        endif      endif -    SLIB += $(CD)/lib/$(TEC_UNAME)/libcdlua$(LIBLUASUFX).a +    SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdlua$(LIBLUASUFX).a    else      ifdef USE_IUP        ifdef USE_OLDNAMES @@ -604,13 +626,13 @@ ifdef USE_IUPLUA    ifdef USE_STATIC      ifdef USE_CD        ifndef USE_OLDNAMES -        SLIB += $(IUP)/lib/$(TEC_UNAME)/libiupluacd$(LIBLUASUFX).a +        SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupluacd$(LIBLUASUFX).a        endif      endif      ifdef USE_OPENGL -      SLIB += $(IUP)/lib/$(TEC_UNAME)/libiupluagl$(LIBLUASUFX).a +      SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupluagl$(LIBLUASUFX).a      endif -    SLIB += $(IUP)/lib/$(TEC_UNAME)/libiuplua$(LIBLUASUFX).a +    SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiuplua$(LIBLUASUFX).a    else      ifdef USE_CD        ifndef USE_OLDNAMES @@ -625,7 +647,7 @@ ifdef USE_IUPLUA  endif  ifdef USE_LUA -  LUA_LIB ?= $(LUA)/lib/$(TEC_UNAME) +  LUA_LIB ?= $(LUA)/lib/$(TEC_UNAME_LIB_DIR)    ifdef USE_STATIC      ifndef NO_LUALIB        SLIB += $(LUA_LIB)/liblualib$(LUASUFX).a @@ -672,13 +694,13 @@ ifdef USE_IUP    ifdef USE_STATIC      ifdef USE_CD        ifndef USE_OLDNAMES -        SLIB += $(IUP)/lib/$(TEC_UNAME)/libiupcd.a +        SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupcd.a        endif      endif      ifdef USE_OPENGL -      SLIB += $(IUP)/lib/$(TEC_UNAME)/libiupgl.a +      SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupgl.a      endif -    SLIB += $(IUP)/lib/$(TEC_UNAME)/libiup$(IUPSUFX).a +    SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiup$(IUPSUFX).a    else      ifdef USE_CD        ifndef USE_OLDNAMES @@ -689,7 +711,7 @@ ifdef USE_IUP        LIBS += iupgl      endif      LIBS += iup$(IUPSUFX) -    LDIR += $(IUP)/lib/$(TEC_UNAME) +    LDIR += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)    endif    INCLUDES += $(IUP)/include  endif @@ -699,28 +721,37 @@ ifdef USE_CD    ifdef USE_STATIC      ifdef USE_IUP        ifdef USE_OLDNAMES -        SLIB += $(CD)/lib/$(TEC_UNAME)/libcdiup.a +        SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdiup.a        endif      endif      ifdef USE_XRENDER        ifdef USE_OLDNAMES -        SLIB += $(CD)/lib/$(TEC_UNAME)/libcdxrender.a +        SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdxrender.a        else -        SLIB += $(CD)/lib/$(TEC_UNAME)/libcdcontextplus.a +        SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdcontextplus.a        endif      endif -    SLIB += $(CD)/lib/$(TEC_UNAME)/libcd.a +    ifdef USE_GDK +      SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdgdk.a +    else +      SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcd.a +    endif      ifdef USE_XRENDER        LIBS += Xrender Xft      else        ifndef USE_GTK          ifndef USE_OLDNAMES            # Freetype is included in GTK -          SLIB += $(CD)/lib/$(TEC_UNAME)/libfreetype.a +          SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libfreetype.a          endif         endif      endif    else +    ifdef USE_IUP +      ifdef USE_OLDNAMES +        LIBS += cdiup +      endif +    endif      ifdef USE_XRENDER        ifdef USE_OLDNAMES          LIBS += cdxrender @@ -728,8 +759,12 @@ ifdef USE_CD          LIBS += cdcontextplus        endif      endif -    LIBS += cd -    LDIR += $(CD)/lib/$(TEC_UNAME) +    ifdef USE_GDK +      LIBS += cdgdk +    else +      LIBS += cd +    endif +    LDIR += $(CD)/lib/$(TEC_UNAME_LIB_DIR)      ifdef USE_XRENDER        LIBS += Xrender Xft      else @@ -746,16 +781,16 @@ endif  ifdef USE_IM    ifdef USE_STATIC -    SLIB += $(IM)/lib/$(TEC_UNAME)/libim.a +    SLIB += $(IM)/lib/$(TEC_UNAME_LIB_DIR)/libim.a    else      LIBS += im -    LDIR += $(IM)/lib/$(TEC_UNAME) +    LDIR += $(IM)/lib/$(TEC_UNAME_LIB_DIR)    endif    INCLUDES += $(IM)/include  endif -# All except gcc in Windows (Cygwin) -ifeq ($(findstring gcc, $(TEC_UNAME)), ) +# All except gcc in Windows (Cygwin/MingW) +ifeq ($(findstring Win, $(TEC_SYSNAME)), )  ifdef USE_GLUT    LIBS += glut @@ -787,35 +822,41 @@ ifdef USE_MOTIF  endif  ifdef USE_GTK -#  ifneq ($(findstring Darwin, $(TEC_UNAME)), ) -#    STDINCS += /Library/Frameworks/Gtk.framework/Headers -#    STDINCS += /Library/Frameworks/GLib.framework/Headers -#    STDINCS += /Library/Frameworks/Cairo.framework/Headers -#    LFLAGS += -framework Gtk -#  else -    ifneq ($(findstring Darwin, $(TEC_UNAME)), ) -      GTK_BASE := /sw -      LDIR += /sw/lib -      LIBS += freetype -    else -      GTK_BASE := /usr -    endif +  ifneq ($(findstring Darwin, $(TEC_UNAME)), ) +# Option 1 - old GTK port +#   GTK_BASE := /sw +#   LDIR += /sw/lib +# Option 2 - old Framework +#   STDINCS += /Library/Frameworks/Gtk.framework/Headers +#   STDINCS += /Library/Frameworks/GLib.framework/Headers +#   STDINCS += /Library/Frameworks/Cairo.framework/Headers +#   LFLAGS += -framework Gtk +# Option 3 - new Framework +    GTK_BASE := /Users/cpts/gtk/inst +    LDIR += $(GTK_BASE)/lib +    LFLAGS += -framework Carbon +    LIBS += gtk-quartz-2.0 gdk-quartz-2.0 pangoft2-1.0 + +    LIBS += freetype +  else +    GTK_BASE := /usr      override USE_X11 = Yes -    LIBS += gtk-x11-2.0 gdk-x11-2.0 gdk_pixbuf-2.0 pango-1.0 pangox-1.0 gobject-2.0 gmodule-2.0 glib-2.0 -    STDINCS += $(GTK_BASE)/include/atk-1.0 $(GTK_BASE)/include/gtk-2.0 $(GTK_BASE)/include/cairo $(GTK_BASE)/include/pango-1.0 $(GTK_BASE)/include/glib-2.0 -    ifeq ($(TEC_SYSARCH), x64) -      STDINCS += $(GTK_BASE)/lib64/glib-2.0/include $(GTK_BASE)/lib64/gtk-2.0/include -    else -    ifeq ($(TEC_SYSARCH), ia64) -      STDINCS += $(GTK_BASE)/lib64/glib-2.0/include $(GTK_BASE)/lib64/gtk-2.0/include -    else -      STDINCS += $(GTK_BASE)/lib/glib-2.0/include $(GTK_BASE)/lib/gtk-2.0/include -    endif -    endif -    ifneq ($(findstring FreeBSD, $(TEC_UNAME)), ) -      STDINCS += /lib/X11R6/include/gtk-2.0   -    endif -#  endif +    LIBS += gtk-x11-2.0 gdk-x11-2.0 pangox-1.0 +  endif +  LIBS += gdk_pixbuf-2.0 pango-1.0 gobject-2.0 gmodule-2.0 glib-2.0 +  STDINCS += $(GTK_BASE)/include/atk-1.0 $(GTK_BASE)/include/gtk-2.0 $(GTK_BASE)/include/cairo $(GTK_BASE)/include/pango-1.0 $(GTK_BASE)/include/glib-2.0 +  ifeq ($(TEC_SYSARCH), x64) +    STDINCS += $(GTK_BASE)/lib64/glib-2.0/include $(GTK_BASE)/lib64/gtk-2.0/include +  else +  ifeq ($(TEC_SYSARCH), ia64) +    STDINCS += $(GTK_BASE)/lib64/glib-2.0/include $(GTK_BASE)/lib64/gtk-2.0/include +  else +    STDINCS += $(GTK_BASE)/lib/glib-2.0/include $(GTK_BASE)/lib/gtk-2.0/include +  endif +  endif +  ifneq ($(findstring FreeBSD, $(TEC_UNAME)), ) +    STDINCS += /lib/X11R6/include/gtk-2.0   +  endif  endif  ifdef USE_QT @@ -836,8 +877,16 @@ LIBS += m  else    # gcc in Windows -  NO_DYNAMIC ?= Yes    STDDEFS += -DWIN32 + +  # Alternative MingW support (not currently used) +  ifneq ($(findstring mingw, $(TEC_UNAME)), ) +    DLIBEXT := dll +    APPEXT := .exe +    DLIBPRE := +  else +    NO_DYNAMIC ?= Yes +  endif    ifdef USE_NOCYGWIN      STDFLAGS += -mno-cygwin @@ -848,7 +897,7 @@ else    endif     ifdef USE_OPENGL -    LIBS += opengl32 glu32 glaux +    LIBS += glaux glu32 opengl32    endif     LIBS += gdi32 winspool comdlg32 comctl32 ole32 @@ -899,14 +948,18 @@ CXXFLAGS = $(CPPFLAGS) $(STDFLAGS) $(INCLUDES) $(STDINCS) $(EXTRAINCS) $(DEFINES  # Sources with relative path  SOURCES := $(addprefix $(SRCDIR)/, $(SRC)) +TARGETAPPNAME := $(TARGETNAME)$(APPEXT) +TARGETSLIBNAME := lib$(TARGETNAME).a +TARGETDLIBNAME := $(DLIBPRE)$(TARGETNAME).$(DLIBEXT) +  # Target for applications or libraries  ifeq ($(MAKETYPE), APP) -  TARGET := $(TARGETDIR)/$(TARGETNAME) +  TARGET := $(TARGETDIR)/$(TARGETAPPNAME)  else    ifeq ($(NO_DYNAMIC), Yes)  -    TARGET := $(TARGETDIR)/lib$(TARGETNAME).a +    TARGET := $(TARGETDIR)/$(TARGETSLIBNAME)    else -    TARGET := $(TARGETDIR)/lib$(TARGETNAME).a $(TARGETDIR)/lib$(TARGETNAME).$(DLIBEXT) +    TARGET := $(TARGETDIR)/$(TARGETSLIBNAME) $(TARGETDIR)/$(TARGETDLIBNAME)    endif  endif @@ -961,9 +1014,9 @@ print-start:  # Dynamic Library Build  .PHONY: dynamic-lib -dynamic-lib: $(TARGETDIR)/lib$(TARGETNAME).$(DLIBEXT) +dynamic-lib: $(TARGETDIR)/$(TARGETDLIBNAME) -$(TARGETDIR)/lib$(TARGETNAME).$(DLIBEXT) : $(LOHS) $(OBJS) $(EXTRADEPS) +$(TARGETDIR)/$(TARGETDLIBNAME) : $(LOHS) $(OBJS) $(EXTRADEPS)  	$(LD) $(STDLDFLAGS) -o $@ $(OBJS) $(SLIB) $(LFLAGS)  	@echo 'Tecmake - Dynamic Library ($@) Done.'; echo '' @@ -972,9 +1025,9 @@ $(TARGETDIR)/lib$(TARGETNAME).$(DLIBEXT) : $(LOHS) $(OBJS) $(EXTRADEPS)  # Static Library Build  .PHONY: static-lib -static-lib: $(TARGETDIR)/lib$(TARGETNAME).a +static-lib: $(TARGETDIR)/$(TARGETSLIBNAME) -$(TARGETDIR)/lib$(TARGETNAME).a : $(LOHS) $(OBJS) $(EXTRADEPS) +$(TARGETDIR)/$(TARGETSLIBNAME) : $(LOHS) $(OBJS) $(EXTRADEPS)  	$(AR) $(STDLFLAGS) $@ $(OBJS) $(SLIB) $(LCFLAGS)  	-$(RANLIB) $@  	@echo 'Tecmake - Static Library ($@) Done.'; echo '' @@ -984,9 +1037,9 @@ $(TARGETDIR)/lib$(TARGETNAME).a : $(LOHS) $(OBJS) $(EXTRADEPS)  # Application Build  .PHONY: application -application: $(TARGETDIR)/$(TARGETNAME) +application: $(TARGETDIR)/$(TARGETAPPNAME) -$(TARGETDIR)/$(TARGETNAME) : $(LOHS) $(OBJS) $(EXTRADEPS) +$(TARGETDIR)/$(TARGETAPPNAME) : $(LOHS) $(OBJS) $(EXTRADEPS)  	$(LINKER) -o $@ $(OBJS) $(SLIB) $(LFLAGS)  	@if [ ! -z "$(STRIP)" ]; then \  	   echo "Striping debug information" ;\ @@ -1147,11 +1200,11 @@ clean-target:  .PHONY: clean  clean: clean-target clean-obj -# make rebuild +# make strip  #   Remove symbols from executables  .PHONY: strip  strip: -	test -r $(TARGETDIR)/$(TARGETNAME) && strip $(TARGETDIR)/$(TARGETNAME) +	test -r $(TARGETDIR)/$(TARGETAPPNAME) && strip $(TARGETDIR)/$(TARGETAPPNAME)  # make rebuild  #   Rebuild target and object files  @@ -1163,6 +1216,9 @@ rebuild: clean-extra clean-lohs clean-obj clean-target tecmake  .PHONY: relink  relink: clean-target tecmake + +#---------------------------------# +  .PHONY: version  version:  	@echo "Tecmake Compact Version $(VERSION)"  | 
