From 5aff87c29e93096f8320c052e4ccf6fbb4df2cd2 Mon Sep 17 00:00:00 2001 From: scuri Date: Tue, 19 Jan 2010 23:11:14 +0000 Subject: *** empty log message *** --- html/en/download_tips.html | 154 ++++++++++++++++++--------------- 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; +} -

Tecgraf/PUC-Rio Library Download Tips

+

Tecgraf/PUC-Rio Library Download Tips

All the libraries were build using Tecmake. Please use it if you intend to recompile the sources. Tecmake can be found at @@ -35,8 +38,8 @@ http://sourceforge.net/project/showfiles.php?group_id=241310.
"config.mak" files for Tecmake are also available.

The DLLs were built using the cdecl calling convention. This should be a problem for Visual Basic users.

-

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.

+

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.

Packaging

The package files available for download are named according to the platform where they were build.

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.
iup2_4_Win32_vc8_lib.tar.gz = IUP 2.4 32-bits Static Libraries and Includes for Windows to use with Visual C++ 8 (2005).
iup2_4_Win32_dll9_lib.tar.gz = 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).
iup2_4_Docs_html.tar.gz = IUP 2.4 documentation files in HTML format (the web site files can be browsed locally).
@@ -114,204 +117,215 @@ http://www.tecgraf.puc-rio.br/iup/en/ide_guide/eclipse.html

Available Platforms

The following platforms can be available:

+ + + + - - - + - - - - - - - - - - - - - - - + - + - + - + - + - - + - + - + - + - + - + - + - + - + + + + - + + + + - + + + + - - + + - - - + - - + + + +
Package NameDescription
AIX43 IBM AIX 4.3 (ppc) / gcc 2.95 / Motif 2.1 +  IBM AIX 4.3 (ppc) / gcc 2.95 / Motif 2.1
IRIX65 SGI IRIX 6.5 (mips) / gcc 3.0 / Motif 2.1 +  SGI IRIX 6.5 (mips) / gcc 3.0 / Motif 2.1
IRIX6465 SGI IRIX 6.5 (mips) / gcc 3.3 / Motif 1.2 SGI IRIX 6.5 (mips) / gcc 3.3 / Motif 1.2
Linux24 Red Hat 7.3 (x86) / Kernel 2.4 / gcc 2.95 / Open Motif 2.1 +  Red Hat 7.3 (x86) / Kernel 2.4 / gcc 2.95 / Open Motif 2.1 / GTK 2.0
Linux24g3 CentOS 3.9 (x86) / Kernel 2.4 / gcc 3.2 / Open Motif 2.2 +  CentOS 3.9 (x86) / Kernel 2.4 / gcc 3.2 / Open Motif 2.2 3 / GTK 2.2
Linux24g3_64   Red Hat E.L. WS 3 (x64) / Kernel 2.4 / gcc 3.2 / Open Motif +  Red Hat E.L. WS 3 (x64) / Kernel 2.4 / gcc 3.2 / Open Motif 2.2 3 / GTK 2.2
Linux26 CentOS 4.6 (x86) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 +  CentOS 4.6 (x86) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 3 / GTK 2.4
Linux26_64 CentOS 4.6 (x64) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 +  CentOS 4.6 (x64) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 3 / GTK 2.4
Linux26g4 CentOS 5.3 (x86) / Kernel 2.6 / gcc 4.1 / Open Motif +  CentOS 5.3 (x86) / Kernel 2.6 / gcc 4.1 / Open Motif 2.2 3 / GTK 2.12
Linux26g4_64 CentOS 5.2 (x64) / Kernel 2.6 / gcc 4.1 / +  CentOS 5.2 (x64) / Kernel 2.6 / gcc 4.1 / OpenMotif 2.2 3 / GTK 2.10
Linux26g4ppc Ubuntu 7.10 (ppc) / Kernel 2.6 / gcc 4.1 / Open Motif 2.2 +  Ubuntu 7.10 (ppc) / Kernel 2.6 / gcc 4.1 / Open Motif 2.2 3 / GTK 2.?
Linux26_ia64 Red Hat E.L. AS 4 (ia64) / Kernel 2.6 / gcc 3.4 / +  Red Hat E.L. AS 4 (ia64) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 3 / GTK 2.4
SunOS57 Sun Solaris 7 (sparc) / gcc 2.95 / Motif 2.1 +  Sun Solaris 7 (sparc) / gcc 2.95 / Motif 2.1
SunOS58 Sun Solaris 8 (sparc) / gcc 3.4 / Motif 2.1 +  Sun Solaris 8 (sparc) / gcc 3.4 / Motif 2.1
SunOS510x86 Sun Solaris 10 (x86) / gcc 3.3 / Motif 2.1 +  Sun Solaris 10 (x86) / gcc 3.3 / Motif 2.1
FreeBSD54 Free BSD 5.4 (x86) / gcc 3.4 / Open Motif 2.2 +  Free BSD 5.4 (x86) / gcc 3.4 / Open Motif 2.2 3
Darwin811 Mac OS X 10.4.11 (ppc) +  Mac OS X 10.4.11 (ppc) [Tiger] / Darwin Kernel 8.11 / gcc 4.0 / Open Motif 2.1
Darwin811x86 Mac OS X 10.4.11 (x86) - [Tiger] / Darwin Kernel 8.11 / gcc 4.0 / - Open Motif 2.1 Mac OS X 10.4.11 (x86) + [Tiger] / Darwin Kernel 8.11 / gcc 4.0 / Open Motif 2.1
Darwin94x86 Mac OS X 10.5.4 (x86) - [Leopard] / Darwin Kernel 9.4 / gcc 4.0 / - Open Motif 2.1 Mac OS X 10.5.4 (x86) + [Leopard] / Darwin Kernel 9.4 / gcc 4.0 / Open Motif 2.1
Win32_vc6 Microsoft Visual C++ 6 (static RTL/single thread) Static library built with Microsoft Visual C++ 6 (static RTL/single thread)
Win32_vc7 Microsoft Visual C++ 7.1 (.NET 2003) (static RTL/single thread)
-  Also compatible with Microsoft Visual C++ Toolkit 2003 -
-  http://msdn.microsoft.com/visualc/vctoolkit2003/ - ¹
 Static library built with Microsoft Visual C++ 7.1 (.NET 2003) (static RTL/single thread)
+  Also compatible with Microsoft Visual C++ Toolkit 2003
Win32_vc8 Microsoft Visual C++ 8.0 (2005) (static RTL/multithread)
-  Also compatible with Microsoft Visual C++ 2005 Express Edition -
-  http://msdn.microsoft.com/vstudio/express/visualc/ - ¹
 Static library built with Microsoft Visual C++ 8.0 (2005) (static RTL/multithread)
+  Also compatible with Microsoft Visual C++ 2005 Express Edition
Win32_vc9 Microsoft Visual C++ 9.0 (2008) (static RTL/multithread)
+
 Static library built with Microsoft Visual C++ 9.0 (2008) (static RTL/multithread)
 Also compatible with Microsoft Visual C++ 2008 Express Edition -
-  http://msdn.microsoft.com/vstudio/express/visualc/ +  http://www.microsoft.com/express/vc/ ¹
Win32_dll6 built using vc6, creates dependency with MSVCRT.DLL
-  (either other libraries or new applications).
 DLL and import library built + with vc6, creates dependency with MSVCRT.DLL
Win32_dll7 built using vc7, creates dependency with MSVCR71.DLL
-  (either other libraries or new applications).
 DLL and import library built + with vc7, creates dependency with MSVCR71.DLL
Win32_dll8 built using vc8, creates dependency with MSVCR80.DLL
-  (either other libraries or new applications).
 DLL and import library built + with vc8, creates dependency with MSVCR80.DLL
Win32_dll9 built using vc9, creates dependency with MSVCR90.DLL
-  (either other libraries or new applications).
 DLL and import library built + with vc9, creates dependency with MSVCR90.DLL
Win64_vc8  Same as Win32_vc8 but for 64-bits - systems using x64 standard. Same as Win32_vc8 but for 64-bits + systems using the x64 standard.
Win64_vc9  Same as Win32_vc9 but for 64-bits - systems using x64 standard. Same as Win32_vc9 but for 64-bits + systems using the x64 standard.
Win64_dll8  Same as Win32_dll8 but for 64-bits - systems using x64 standard. Same as Win32_dll8 but for 64-bits + systems using the x64 standard.
Win64_dll9  Same as Win32_dll9 but for 64-bits - systems using x64 standard. Same as Win32_dll9 but for 64-bits + systems using the x64 standard.
Win32_gcc3 Cygwin gcc 3.4  (Depends on Cygwin DLL 1.5) - +  Static library built with Cygwin gcc 3.4  (Depends on Cygwin + DLL 1.5)
Win32_gcc4 Static library built with Cygwin gcc 4.3  (Depends on Cygwin DLL 1.7) - http://www.cygwin.com/ ¹
Win32_cygw15 Same as Win32_gcc3, but using the Cygwin Posix +  Same as Win32_gcc3, but using the Cygwin Posix + system
Win32_cygw17 Same as Win32_gcc4, but using the Cygwin Posix system
Win32_mingw3 MingW gcc 3.4 - +  Static library built with MingW gcc 3.4
Win32_mingw4 Static library built with MingW gcc 4.3 - http://www.mingw.org/ ¹
-  Also compatible with Dev-C++ - +  Also compatible with Dev-C++ - http://www.bloodshed.net/devcpp.html
 and with Code Blocks - http://www.codeblocks.org/ ¹
Win32_mingw4 MingW gcc 4.4 - - http://www.mingw.org/ - ¹Win32_dllw4 DLL and import library built + with MingW gcc 4.3
Win32_owc1 Open Watcom 1.5 - +  Static library built with Open Watcom 1.5 - http://www.openwatcom.org/
Win32_bc56 Borland C++ BuilderX 1.0 / Borland C++ 5.6 Compiler - +  Static library built with Borland C++ BuilderX 1.0 / Borland C++ 5.6 Compiler -
 http://www.borland.com/products/downloads/download_cbuilderx.html ¹,²
@@ -320,16 +334,22 @@ http://www.tecgraf.puc-rio.br/iup/en/ide_guide/eclipse.html
Win32_bin Executables only for Windows NT/2000/XP Executables only for Windows NT/2000/XP (can be + generated by any of the above compilers)
Win64_bin Same as Win32_bin but for 64-bits systems +  Same as Win32_bin but for 64-bits systems using the x64 standard
Win32_cygw15_bin Executables only for Windows NT/2000/XP, but +  Executables only for Windows NT/2000/XP, but + using the Cygwin Posix system
Win32_cygw17_bin Executables only for Windows NT/2000/XP, but using the Cygwin Posix system
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)" -- cgit v1.2.3