diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile | 4 | ||||
| -rw-r--r-- | src/tecmake.mak | 1358 | ||||
| -rw-r--r-- | src/tecmakewin.mak | 1384 | 
3 files changed, 2 insertions, 2744 deletions
| diff --git a/src/Makefile b/src/Makefile index c819fb0..8021b71 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,8 +1,8 @@  ifeq ($(OS), Windows_NT) -  TECMAKE_CMD = $(MAKE) --no-print-directory -f tecmakewin.mak TEC_UNAME=$(TEC_UNAME) +  TECMAKE_CMD = $(MAKE) --no-print-directory -f ../tecmakewin.mak TEC_UNAME=$(TEC_UNAME)    WINLIBS = im_avi im_wmv imlua_avi imlua_wmv im_capture imlua_capture5  else -  TECMAKE_CMD = $(MAKE) --no-print-directory -f tecmake.mak +  TECMAKE_CMD = $(MAKE) --no-print-directory -f ../tecmake.mak  endif  .PHONY: do_all im im_jp2 im_process im_fftw imlua3 imlua5 imlua_jp2 imlua_process5 imlua_fftw5 $(WINLIBS) diff --git a/src/tecmake.mak b/src/tecmake.mak deleted file mode 100644 index 2426d5b..0000000 --- a/src/tecmake.mak +++ /dev/null @@ -1,1358 +0,0 @@ -#-------------------------------------------------------------------------# -#- Tecmake  (POSIX Version)                                              -# -#- Generic Makefile to build applications and libraries at TeCGraf       -# -#- The user makefile usually has the name "config.mak".                  -# -#-------------------------------------------------------------------------# - -#---------------------------------# -# Tecmake Version -VERSION = 4.3 - - -#---------------------------------# -# First target -.PHONY: build -build: tecmake - - -#---------------------------------# -# System Variables Definitions - -ifndef TEC_UNAME -  # Base Defintions -  TEC_SYSNAME:=$(shell uname -s) -  TEC_SYSVERSION:=$(shell uname -r|cut -f1 -d.) -  TEC_SYSMINOR:=$(shell uname -r|cut -f2 -d.) -  TEC_SYSARCH:=$(shell uname -m) - -  # Fixes -  ifeq ($(TEC_SYSNAME), SunOS) -    TEC_SYSARCH:=$(shell uname -p) -  endif -  ifeq ($(TEC_SYSNAME), IRIX) -    TEC_SYSARCH:=$(shell uname -p) -  endif -  ifeq ($(TEC_SYSNAME), FreeBSD) -    TEC_SYSMINOR:=$(shell uname -r|cut -f2 -d.|cut -f1 -d-) -  endif -  ifeq ($(TEC_SYSNAME), AIX) -    TEC_SYSVERSION:=$(shell uname -v) -    TEC_SYSMINOR:=$(shell uname -r) -    TEC_SYSARCH:=ppc -  endif -  ifeq ($(TEC_SYSNAME), Darwin) -    TEC_SYSNAME:=MacOS -    TEC_SYSVERSION:=$(shell sw_vers -productVersion|cut -f1 -d.) -    TEC_SYSMINOR:=$(shell sw_vers -productVersion|cut -f2 -d.) -    TEC_SYSARCH:=$(shell uname -p) -  endif - -  ifeq ($(TEC_SYSARCH), i686) -    TEC_SYSARCH:=x86 -  endif -  ifeq ($(TEC_SYSARCH), i386) -    TEC_SYSARCH:=x86 -  endif -  ifeq ($(TEC_SYSARCH), powerpc) -    TEC_SYSARCH:=ppc -  endif -  ifeq ($(TEC_SYSARCH), x86_64) -    TEC_SYSARCH:=x64 -  endif -  ifeq ($(TEC_SYSARCH), amd64) -    TEC_SYSARCH:=x64 -  endif - -  # Compose -  TEC_SYSRELEASE:=$(TEC_SYSVERSION).$(TEC_SYSMINOR) -  TEC_UNAME:=$(TEC_SYSNAME)$(TEC_SYSVERSION)$(TEC_SYSMINOR) - -  # Cygwin -  ifneq ($(findstring CYGWIN, $(TEC_SYSNAME)), ) -    TEC_SYSNAME:=CYGWIN -    TEC_UNAME:=cygw$(TEC_SYSVERSION)$(TEC_SYSMINOR) -  endif - -  # Linux 2.4 and GCC 3.x -  ifeq ($(TEC_UNAME), Linux24) -    GCCVER:=$(shell gcc -dumpversion|cut -f1 -d.) -    ifeq ($(GCCVER), 3) -      TEC_UNAME:=$(TEC_UNAME)g3 -    endif -  endif - -  # Linux 2.6 and GCC 4.x -  ifeq ($(TEC_UNAME), Linux26) -    GCCVER:=$(shell gcc -dumpversion|cut -f1 -d.) -    ifeq ($(GCCVER), 4) -      TEC_UNAME:=$(TEC_UNAME)g4 -    endif -  endif - -  # Linux and PowerPC -  ifeq ($(TEC_SYSNAME), Linux) -    ifeq ($(TEC_SYSARCH), ppc) -      TEC_UNAME:=$(TEC_UNAME)ppc -    endif -  endif - -  # 64-bits Linux -  ifeq ($(TEC_SYSNAME), Linux) -    ifeq ($(TEC_SYSARCH), x64) -      BUILD_64=Yes -      TEC_UNAME:=$(TEC_UNAME)_64 -    endif - -    ifeq ($(TEC_SYSARCH), ia64) -      BUILD_64=Yes -      TEC_UNAME:=$(TEC_UNAME)_ia64 -    endif -  endif - -  # 64-bits FreeBSD -  ifeq ($(TEC_SYSNAME), FreeBSD) -    ifeq ($(TEC_SYSARCH), x64) -      BUILD_64=Yes -      TEC_UNAME:=$(TEC_UNAME)_64 -    endif -  endif - -  # Solaris and Intel -  ifeq ($(TEC_SYSNAME), SunOS) -    ifeq ($(TEC_SYSARCH) , x86) -      TEC_UNAME:=$(TEC_UNAME)x86 -    endif -  endif - -  # MacOS and Intel -  ifeq ($(TEC_SYSNAME), MacOS) -    ifeq ($(TEC_SYSMINOR), 6) -      TEC_SYSARCH:=x64 -    else -      ifeq ($(TEC_SYSARCH), x86) -        TEC_UNAME:=$(TEC_UNAME)x86 -      endif -    endif -  endif -endif - - -#---------------------------------# -# System Info -.PHONY: sysinfo -sysinfo: -	@echo ''; echo 'Tecmake: System Info' -	@echo 'TEC_SYSNAME = $(TEC_SYSNAME)' -	@echo 'TEC_SYSVERSION = $(TEC_SYSVERSION)' -	@echo 'TEC_SYSMINOR = $(TEC_SYSMINOR)' -	@echo 'TEC_SYSARCH = $(TEC_SYSARCH)' -	@echo 'TEC_UNAME = $(TEC_UNAME)' -	@echo 'GTK_BASE = $(GTK_BASE)' -	@echo 'X11_LIB = $(X11_LIB)' -	@echo 'X11_INC = $(X11_INC)' -	@echo 'MOTIF_LIB = $(MOTIF_LIB)' -	@echo 'MOTIF_INC = $(MOTIF_INC)' -	@echo 'GLUT_LIB = $(GLUT_LIB)' -	@echo 'GLUT_INC = $(GLUT_INC)' -	@echo 'OPENGL_LIB = $(OPENGL_LIB)' -	@echo 'OPENGL_INC = $(OPENGL_INC)' -	@echo '' - - -#---------------------------------# -# Known Platforms - -UNAMES = Linux24 Linux24g3 Linux24g3_64 Linux26 Linux26_64 Linux26g4 Linux26g4_64 Linux26_ia64 FreeBSD54 SunOS57 SunOS58 SunOS510 SunOS510_x86 AIX43 IRIX65 IRIX6465 - - -#---------------------------------# -# Directories Definitions - -PROJDIR = .. -SRCDIR  = . -OBJROOT = $(PROJDIR)/obj - - -#---------------------------------# -# Byte Order and Word Size - -ifneq ($(findstring x86, $(TEC_SYSARCH)), ) -   TEC_BYTEORDER = TEC_LITTLEENDIAN -else -ifeq ($(TEC_SYSARCH), arm) -   TEC_BYTEORDER = TEC_LITTLEENDIAN -else -   TEC_BYTEORDER = TEC_BIGENDIAN -endif -endif - -ifeq ($(TEC_SYSARCH), x64) -  TEC_BYTEORDER = TEC_LITTLEENDIAN -  TEC_WORDSIZE = TEC_64 -else -ifdef BUILD_64 -  TEC_WORDSIZE = TEC_64 -else -  TEC_WORDSIZE = TEC_32 -endif -endif - -# Itanium Exception -ifeq ($(TEC_SYSARCH), ia64) -  TEC_BYTEORDER = TEC_LITTLEENDIAN -  TEC_WORDSIZE = TEC_64 -endif - - -#---------------------------------# -# Compilation Flags -STDFLAGS := -Wall -STDDEFS  := -DTEC_UNAME=$(TEC_UNAME) -DTEC_SYSNAME=$(TEC_SYSNAME) -D$(TEC_SYSNAME)=$(TEC_SYSRELEASE) -D$(TEC_BYTEORDER) -D$(TEC_WORDSIZE) -DFUNCPROTO=15 -STDINCS  := -OPTFLAGS := -O2 -STDLFLAGS  := r -DEBUGFLAGS := -g -STDLDFLAGS := -shared -DLIBEXT := so -DLIBPRE := lib -APPEXT := - -ifneq ($(findstring Linux24, $(TEC_UNAME)), ) -  NO_GTK_DEFAULT = Yes -endif -ifeq ($(TEC_UNAME), Linux26) -  NO_GTK_DEFAULT = Yes -endif -ifeq ($(TEC_UNAME), Linux26_64) -  NO_GTK_DEFAULT = Yes -endif - -ifndef NO_GTK_DEFAULT -  ifneq ($(findstring cygw, $(TEC_UNAME)), ) -    GTK_DEFAULT = Yes -  endif -  ifneq ($(findstring Linux, $(TEC_UNAME)), ) -    GTK_DEFAULT = Yes -  endif -  ifneq ($(findstring MacOS, $(TEC_UNAME)), ) -    GTK_DEFAULT = Yes -  endif -  ifneq ($(findstring FreeBSD, $(TEC_UNAME)), ) -    GTK_DEFAULT = Yes -  endif -endif - -#---------------------------------# -# Tools - -CC       := $(TEC_TOOLCHAIN)gcc -CPPC     := $(TEC_TOOLCHAIN)g++ -FF       := $(TEC_TOOLCHAIN)g77 -RANLIB   := $(TEC_TOOLCHAIN)ranlib -AR       := $(TEC_TOOLCHAIN)ar -DEBUGGER := $(TEC_TOOLCHAIN)gdb -RCC      := $(TEC_TOOLCHAIN)windres - -# Remote build script -REMOTE  = $(TECMAKE_HOME)/remote - -# Packed LOHs script -LUAPRE = $(TECMAKE_HOME)/luapre.lua - - -#---------------------------------# -# User Configuration File - -MAKENAME = config.mak - -ifdef MF -  MAKENAME = $(MF).mak -endif - -################### -include $(MAKENAME) -################### - - -#---------------------------------# -# Definitions of public variables - -ifdef LIBNAME -  TARGETNAME = $(LIBNAME) -  MAKETYPE = LIB -else -  TARGETNAME = $(APPNAME) -  MAKETYPE = APP -endif - -ifndef TARGETNAME -  $(error LIBNAME nor APPNAME defined in $(MAKENAME)) -endif - -PROJNAME ?= $(TARGETNAME) - -DEPEND := $(TARGETNAME).dep - -ifdef DEPENDDIR -  DEPEND := $(DEPENDDIR)/$(TARGETNAME).dep.$(TEC_UNAME) -endif - -ifeq ($(MAKETYPE), APP) -  TARGETROOT ?= $(PROJDIR)/bin -else -  TARGETROOT ?= $(PROJDIR)/lib -endif - -ifneq ($(PROJNAME), $(TARGETNAME)) -  OBJROOT := $(OBJROOT)/$(TARGETNAME) -endif - -ifdef DBG -  STDFLAGS += $(DEBUGFLAGS) -  STDDEFS += -DDEBUG -else -  STDDEFS += -DNDEBUG -  ifdef OPT -    STDFLAGS += $(OPTFLAGS) -    STRIP ?= Yes -  endif -endif - -ifdef BUILD_64 -  ifneq ($(findstring SunOS, $(TEC_UNAME)), ) -    USE_CC = Yes -    BUILD_64_DIR = Yes -  endif -  ifneq ($(findstring AIX, $(TEC_UNAME)), ) -    USE_CC = Yes -    BUILD_64_DIR = Yes -  endif -  ifneq ($(findstring IRIX, $(TEC_UNAME)), ) -    USE_CC = Yes -    BUILD_64_DIR = Yes -  endif -endif - -ifdef USE_CC -  CC := cc -  CPPC := CC -  STDFLAGS = -  UNAMES := $(UNAMES_CC) -  ifdef USE_CC_DIR -    TEC_UNAME := $(TEC_UNAME)cc -  endif -endif - -ifdef BUILD_64 -  ifdef BUILD_64_DIR -    TEC_UNAME := $(TEC_UNAME)_64 -  endif -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 -endif - -OBJDIR := $(OBJROOT)/$(TEC_UNAME_DIR) -TARGETDIR := $(TARGETROOT)/$(TEC_UNAME_DIR) - -# Change linker if any C++ source -ifndef LINKER -  ifneq "$(findstring .cpp, $(SRC))" "" -    LINKER := $(CPPC) -    LD := $(CPPC) -  else -    LINKER := $(CC) -    LD := $(CC) -  endif -endif - -ifdef NO_ECHO -  ECHO:=@ -endif - -#---------------------------------# -# LO and LOH Suffix - -SRCLUADIR ?= $(SRCDIR) -LOHDIR ?= $(SRCLUADIR) - -ifdef USE_LOH_SUBDIR -  ifeq ($(TEC_BYTEORDER), TEC_BIGENDIAN) -    ifeq ($(TEC_WORDSIZE), TEC_64) -      LOH_SUBDIR ?= be64 -    else -      LOH_SUBDIR ?= be32 -    endif -  else -    ifeq ($(TEC_WORDSIZE), TEC_64) -      LOH_SUBDIR ?= le64 -    else -      LOH_SUBDIR ?= le32 -    endif -  endif -  LOHDIR := $(LOHDIR)/$(LOH_SUBDIR) -  INCLUDES += $(LOHDIR) -else -  ifeq ($(TEC_BYTEORDER), TEC_BIGENDIAN) -    ifeq ($(TEC_WORDSIZE), TEC_64) -      LO_SUFFIX ?= _be64 -    else -      LO_SUFFIX ?= _be32 -    endif -  else -    ifeq ($(TEC_WORDSIZE), TEC_64) -      LO_SUFFIX ?= _le64 -    else -      LO_SUFFIX ?= -    endif -  endif -endif - - - -#---------------------------------# -#  Platform specific variables - -# Definitions for X11 -X11_LIBS := Xmu Xt Xext X11 -#X11_LIB := -#X11_INC :=                     #include <X11/X.h> - -# Definitions for OpenGL -OPENGL_LIBS := GLU GL -#OPENGL_LIB := -#OPENGL_INC :=                  #include <GL/gl.h>  and possibly -MOTIFGL_LIB := GLw              #include <GL/GLwMDrawA.h> - -# Definitions for Motif -#MOTIF_LIB := -#MOTIF_INC :=                   #include <Xm/Xm.h> - -# Definitions for GLUT -#GLUT_LIB := -#GLUT_INC := - -# Definitions for GTK -ifdef GTK_BASE -  GTK := $(GTK_BASE) -else -  ifneq ($(findstring MacOS, $(TEC_UNAME)), ) -  # Option 1 - Fink GTK port -    GTK = /sw -  # Option 3 - GTK-OSX Framework -  #   GTK := /Users/cpts/gtk/inst -  else -    GTK = /usr -  endif -endif - -ifneq ($(findstring Linux, $(TEC_UNAME)), ) -  UNIX_LINUX = Yes -  ifdef BUILD_64 -    ifeq ($(TEC_SYSARCH), ia64) -      STDFLAGS += -fPIC -      X11_LIB := /usr/X11R6/lib -    else -      STDFLAGS += -m64 -fPIC -      X11_LIB := /usr/X11R6/lib64 -    endif -  else -    X11_LIB := /usr/X11R6/lib -  endif -  X11_INC := /usr/X11R6/include -  MOTIFGL_LIB := -endif - -ifneq ($(findstring IRIX, $(TEC_UNAME)), ) -  UNIX_POSIX = Yes -  LD = ld -  STDLDFLAGS := -elf -shared -rdata_shared -soname lib$(TARGETNAME).so -  RANLIB := /bin/true -  X11_LIBS := Xmu Xt X11 -  ifdef BUILD_64 -    ifdef USE_CC -      STDFLAGS += -64 -KPIC -      STDLDFLAGS += -64 -      LINKER += -64 -    endif -    X11_LIB := /usr/lib64 -    MOTIF_LIB := /usr/Motif-2.1/lib64 -  else -    X11_LIB := /usr/lib32 -    MOTIF_LIB := /usr/Motif-2.1/lib32 -  endif -  MOTIF_INC = /usr/Motif-2.1/include -endif - -ifneq ($(findstring AIX, $(TEC_UNAME)), ) -  UNIX_POSIX = Yes -  NO_DYNAMIC ?= Yes -  ifdef BUILD_64 -    ifdef USE_CC -      STDFLAGS += -q64 # to compilers C and C++ -      STDLFLAGS := -X64 $(STDLFLAGS) # to librarian -      STDLDFLAGS += -64 -      LINKER += -q64 # to linker -    endif -  endif -endif - -ifneq ($(findstring HP-UX, $(TEC_UNAME)), ) -  UNIX_POSIX = Yes -  NO_DYNAMIC ?= Yes -  MOTIF_INC := /usr/include/Motif2.1 -  X11_LIBS := Xt Xext X11 -  OPENGL_LIB := /opt/graphics/OpenGL/lib -  OPENGL_INC := /opt/graphics/OpenGL/include -  STDDEFS := -DTEC_UNAME=$(TEC_UNAME) -DTEC_SYSNAME=$(TEC_SYSNAME) -D$(TEC_BYTEORDER) -D$(TEC_WORDSIZE) -DFUNCPROTO=15 -  CC := aCC -  CPPC := aCC -  LINKER := aCC -endif - -ifneq ($(findstring SunOS, $(TEC_UNAME)), ) -  UNIX_POSIX = Yes -  LD = ld -  STDLDFLAGS := -G -  X11_INC := /usr/openwin/share/include -  X11_LIB := /usr/openwin/lib -  MOTIF_INC := /usr/dt/share/include -  MOTIF_LIB := /usr/dt/lib -  OPENGL_INC := /usr/openwin/share/include/X11 -  GLUT_LIB := /usr/local/glut-3.7/lib/glut -  GLUT_INC := /usr/local/glut-3.7/include -  ifdef BUILD_64 -    ifdef USE_CC -      STDFLAGS += -xarch=v9 -KPIC -      # have to force these PATHs because of a conflict with standard PATHs -      STDLDFLAGS += -64 -L/usr/lib/64 -L/usr/ucblib/sparcv9 -      LINKER += -xarch=v9 -    endif -  endif -endif - -ifneq ($(findstring MacOS, $(TEC_UNAME)), ) -  UNIX_BSD = Yes -  X11_LIBS := Xmu Xp Xt Xext X11 -  X11_LIB := /usr/X11R6/lib -  X11_INC := /usr/X11R6/include -  MOTIF_INC := /usr/OpenMotif/include -  MOTIF_LIB := /usr/OpenMotif/lib -  ifdef BUILD_DYLIB -    STDLDFLAGS := -dynamiclib -Wl -fno-common -headerpad_max_install_names -undefined dynamic_lookup -install_name lib$(TARGETNAME).dylib -    DLIBEXT := dylib -    STDFLAGS += -fno-common -  else -    STDLDFLAGS := -bundle -undefined dynamic_lookup -  endif -  ifdef USE_OPENGL -    ifeq ($(TEC_SYSMINOR), 5) -      #Darwin9 Only - OpenGL bug fix for Fink, when the message bellow appears -      #   ld: cycle in dylib re-exports with /usr/X11R6/lib/libGL.dylib -      LFLAGS += -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -    endif -  endif -endif - -ifneq ($(findstring FreeBSD, $(TEC_UNAME)), ) -  BSD = Yes -  X11_LIB := /usr/X11R6/lib -  X11_INC := /usr/X11R6/include -  ifeq ($(TEC_SYSARCH), x64) -    STDFLAGS += -fPIC -  endif -endif - -#---------------------------------# -# Allows an extra configuration file. -ifdef EXTRA_CONFIG -include $(EXTRA_CONFIG) -endif - - -#---------------------------------# -# Tecgraf Libraries Location -TECTOOLS_HOME ?= ../.. - -IUP   ?= $(TECTOOLS_HOME)/iup -CD    ?= $(TECTOOLS_HOME)/cd -IM    ?= $(TECTOOLS_HOME)/im -LUA   ?= $(TECTOOLS_HOME)/lua -LUA51 ?= $(TECTOOLS_HOME)/lua5.1 -LUA52 ?= $(TECTOOLS_HOME)/lua52 - - -#---------------------------------# -#  Pre-defined libraries - -# Library order: -#   user + iupcd + cd + iup + motif + X -# Library path order is reversed - -ifdef USE_LUA -  LUA_SUFFIX ?= -  LIBLUASUFX := 3 -endif - -ifdef USE_LUA4 -  LUA_SUFFIX ?= 4 -  LIBLUASUFX := 4 -  override USE_LUA = Yes -  LUA := $(LUA4) -endif - -ifdef USE_LUA5 -  LUA_SUFFIX ?= 5 -  LIBLUASUFX := 5 -  override USE_LUA = Yes -  LUA := $(LUA5) -endif - -ifdef USE_LUA50 -  LUA_SUFFIX ?= 50 -  LIBLUASUFX := 5 -  override USE_LUA = Yes -  LUA := $(LUA50) -  NO_LUALIB := Yes -endif - -ifdef USE_LUA51 -  LUA_SUFFIX ?= 5.1 -  LIBLUASUFX := 51 -  override USE_LUA = Yes -  LUA := $(LUA51) -  NO_LUALIB := Yes -endif - -ifdef USE_LUA52 -  LUA_SUFFIX ?= 52 -  LIBLUASUFX := 52 -  override USE_LUA = Yes -  LUA := $(LUA52) -  NO_LUALIB := Yes -endif - -ifdef USE_IUP3 -  override USE_IUP = Yes -# Inside Tecgraf only -  ifndef IUP3_BUILD -#    IUP := $(IUP)3 -  endif -endif - -ifdef USE_IUPBETA -  IUP := $(IUP)/beta -endif - -ifdef USE_CDBETA -  CD := $(CD)/beta -endif - -ifdef USE_IMBETA -  IM := $(IM)/beta -endif - -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_LIB_DIR)/libiupluacontrols$(LIBLUASUFX).a -    else -      LIBS += iupluacontrols$(LIBLUASUFX) -    endif -    override USE_CDLUA = Yes -  endif -  ifdef USE_STATIC -    SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupcontrols.a -  else -    LIBS += iupcontrols -  endif -endif - -ifdef USE_IMLUA -  override USE_IM = Yes -  ifdef USE_STATIC -    SLIB += $(IM)/lib/$(TEC_UNAME_LIB_DIR)/libimlua$(LIBLUASUFX).a -  else -    LIBS += imlua$(LIBLUASUFX) -  endif -endif - -ifdef USE_CDLUA -  override USE_CD = Yes -  ifdef USE_STATIC -    SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdlua$(LIBLUASUFX).a -  else -    LIBS += cdlua$(LIBLUASUFX) -  endif -endif - -ifdef USE_IUPLUA -  override USE_IUP = Yes -  ifdef USE_STATIC -    ifdef USE_CD -      SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupluacd$(LIBLUASUFX).a -    endif -    ifdef USE_OPENGL -      SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupluagl$(LIBLUASUFX).a -    endif -    SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiuplua$(LIBLUASUFX).a -  else -    ifdef USE_CD -      LIBS += iupluacd$(LIBLUASUFX) -    endif -    ifdef USE_OPENGL -      LIBS += iupluagl$(LIBLUASUFX) -    endif -    LIBS += iuplua$(LIBLUASUFX) -  endif -endif - -ifdef USE_LUA -  LUA_LIB ?= $(LUA)/lib/$(TEC_UNAME_LIB_DIR) -  ifdef USE_STATIC -    ifndef NO_LUALIB -      SLIB += $(LUA_LIB)/liblualib$(LUA_SUFFIX).a -    endif -    SLIB += $(LUA_LIB)/liblua$(LUA_SUFFIX).a -  else -    ifndef NO_LUALIB -      LIBS += lualib$(LUA_SUFFIX) -    endif -    ifndef NO_LUALINK -        LIBS += lua$(LUA_SUFFIX) -        LDIR += $(LUA_LIB) -    else -      ifneq ($(findstring cygw, $(TEC_UNAME)), ) -        LIBS += lua$(LUA_SUFFIX) -        LDIR += $(LUA_LIB) -      endif -    endif -  endif - -  LUA_INC   ?= $(LUA)/include -  INCLUDES += $(LUA_INC) - -  LUA_BIN ?= $(LUA)/bin/$(TEC_UNAME) -  BIN2C     := $(LUA_BIN)/bin2c$(LUA_SUFFIX) -  LUAC      := $(LUA_BIN)/luac$(LUA_SUFFIX) -  LUABIN    := $(LUA_BIN)/lua$(LUA_SUFFIX) -endif - -ifdef USE_IUP -  IUP_SUFFIX ?= -  ifdef USE_IUP3 -    ifdef GTK_DEFAULT -      ifdef USE_MOTIF -        IUP_SUFFIX := mot -      else -        override USE_GTK = Yes -        override USE_GDK = Yes -      endif -    else -      ifdef USE_GTK -        IUP_SUFFIX := gtk -      else -        override USE_MOTIF = Yes -      endif -    endif -  else -    override USE_MOTIF = Yes -  endif -  ifdef USE_STATIC -    ifdef USE_CD -      SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupcd.a -    endif -    ifdef USE_OPENGL -      SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiupgl.a -    endif -    SLIB += $(IUP)/lib/$(TEC_UNAME_LIB_DIR)/libiup$(IUP_SUFFIX).a -  else -    ifdef USE_CD -      LIBS += iupcd -    endif -    ifdef USE_OPENGL -      LIBS += iupgl -    endif -    LIBS += iup$(IUP_SUFFIX) -    LDIR += $(IUP)/lib/$(TEC_UNAME_LIB_DIR) -  endif -  INCLUDES += $(IUP)/include -endif - -ifdef USE_CD -  CD_SUFFIX ?= -  override USE_X11 = Yes -  ifndef USE_CD_OLD -    ifdef GTK_DEFAULT -      ifdef USE_MOTIF -        CD_SUFFIX := x11 -      endif -    else -      ifdef USE_GTK -        CD_SUFFIX := gdk -      endif -    endif -  endif -  ifdef USE_STATIC -    ifdef USE_XRENDER -      CHECK_XRENDER = Yes -      SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdcontextplus.a -      LIBS += Xrender Xft -    endif -    ifdef USE_CAIRO -      # To use Cairo with X11 base driver (NOT for GDK) -      # Can NOT be used together with XRender -      SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcdcairo.a -      LIBS += pangocairo-1.0 cairo -    endif -    SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libcd$(CD_SUFFIX).a -    ifndef USE_GTK -      # Freetype is already included in GTK -      SLIB += $(CD)/lib/$(TEC_UNAME_LIB_DIR)/libfreetype.a -    endif -  else -    ifdef USE_XRENDER -      CHECK_XRENDER = Yes -      LIBS += cdcontextplus -      LIBS += Xrender Xft -    endif -    ifdef USE_CAIRO -      # To use Cairo with X11 base driver (NOT for GDK) -      # Can NOT be used together with XRender -      LIBS += cdcairo -      LIBS += pangocairo-1.0 cairo -    endif -    LIBS += cd$(CD_SUFFIX) -    LDIR += $(CD)/lib/$(TEC_UNAME_LIB_DIR) -    ifndef USE_GTK -      # Freetype is already included in GTK -      ifneq ($(findstring cygw, $(TEC_UNAME)), ) -        LIBS += freetype-6 -      else -        LIBS += freetype -      endif -    endif -  endif -  INCLUDES += $(CD)/include -endif - -ifdef USE_IM -  ifdef USE_STATIC -    SLIB += $(IM)/lib/$(TEC_UNAME_LIB_DIR)/libim.a -  else -    LIBS += im -    LDIR += $(IM)/lib/$(TEC_UNAME_LIB_DIR) -  endif -  INCLUDES += $(IM)/include -endif - -ifdef USE_GLUT -  LIBS += glut -  LDIR += $(GLUT_LIB) -  STDINCS += $(GLUT_INC) -endif - -ifdef USE_OPENGL -  override USE_X11 = Yes -  ifdef USE_MOTIF -    ifndef USE_IUP3 -      LIBS += $(MOTIFGL_LIB) -    endif -  endif -  LIBS += $(OPENGL_LIBS) -  LDIR += $(OPENGL_LIB) -  STDINCS += $(OPENGL_INC) -endif - -ifdef USE_MOTIF -  override USE_X11 = Yes -  LIBS += Xm -  LDIR += $(MOTIF_LIB) -  STDINCS += $(MOTIF_INC) -  ifneq ($(findstring Linux, $(TEC_UNAME)), ) -    X11_LIBS := Xpm $(X11_LIBS) -  endif -  ifneq ($(findstring cygw, $(TEC_UNAME)), ) -    X11_LIBS := Xpm $(X11_LIBS) -  endif -endif - -ifdef USE_GTK -  ifdef USE_PKGCONFIG -    # get compile/link flags via pkg-config -    STDFLAGS += $(shell pkg-config --cflags gtk+-2.0 gdk-2.0) -    LIBS += $(shell pkg-config --libs gtk+-2.0 gdk-2.0) -  else -    CHECK_GTK = Yes -    ifneq ($(findstring MacOS, $(TEC_UNAME)), ) -  # Option 1 - Fink GTK port -      LDIR += $(GTK)/lib -      override USE_X11 = Yes -      LIBS += gtk-x11-2.0 gdk-x11-2.0 pangox-1.0 -  # Option 2 - Imendio Framework -  #   STDINCS += /Library/Frameworks/Gtk.framework/Headers -  #   STDINCS += /Library/Frameworks/GLib.framework/Headers -  #   STDINCS += /Library/Frameworks/Cairo.framework/Headers -  #   LFLAGS += -framework Gtk -  # Option 3 - GTK-OSX Framework -  #   LDIR += $(GTK)/lib -  #   LFLAGS += -framework Carbon -  #   LIBS += gtk-quartz-2.0 gdk-quartz-2.0 pangoft2-1.0 - -      LIBS += freetype -    else -      # if not the default, then include it for linker -      # must be before the default -      ifdef GTK_BASE -        LDIR += $(GTK)/lib -      endif -      override USE_X11 = Yes -      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)/include/atk-1.0 $(GTK)/include/gtk-2.0 $(GTK)/include/cairo $(GTK)/include/pango-1.0 $(GTK)/include/glib-2.0 - -    ifeq ($(TEC_SYSARCH), x64) -      STDINCS += $(GTK)/lib64/glib-2.0/include $(GTK)/lib64/gtk-2.0/include -      # Add also these to avoid errors in systems that lib64 does not exists -      STDINCS += $(GTK)/lib/glib-2.0/include $(GTK)/lib/gtk-2.0/include -    else -    ifeq ($(TEC_SYSARCH), ia64) -      STDINCS += $(GTK)/lib64/glib-2.0/include $(GTK)/lib64/gtk-2.0/include -    else -      STDINCS += $(GTK)/lib/glib-2.0/include $(GTK)/lib/gtk-2.0/include -    endif -    endif -    ifneq ($(findstring FreeBSD, $(TEC_UNAME)), ) -      STDINCS += /lib/X11R6/include/gtk-2.0 -    endif -  endif -endif - -ifdef USE_QT -  override USE_X11 = Yes -  LIBS += QtGui QtCore -  QT_BASE_INC := /usr/include/qt4 -  STDINCS += $(QT_BASE_INC) $(QT_BASE_INC)/QtCore $(QT_BASE_INC)/QtGui -  STDDEFS += -DQT_DLL -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -endif - -ifdef USE_X11 -  LIBS += $(X11_LIBS) -  LDIR += $(X11_LIB) -  STDINCS += $(X11_INC) -endif - -LIBS += m - -ifneq ($(findstring cygw, $(TEC_UNAME)), ) -  WIN_OTHER := Yes - -  # INCLUDES for dependencies, remove references to "c:" and similars -  DEPINCS := $(patsubst c:%, /cygdrive/c%, $(INCLUDES)) -  DEPINCS := $(patsubst d:%, /cygdrive/d%, $(DEPINCS)) -  DEPINCS := $(patsubst x:%, /cygdrive/x%, $(DEPINCS)) -  DEPINCS := $(patsubst t:%, /cygdrive/t%, $(DEPINCS)) - -  DLIBEXT := dll -  APPEXT := .exe -  # Use the cyg prefix to indicate that it is a Cygwin Posix DLL -  DLIBPRE := cyg - -  STDLDFLAGS += -Wl,--out-implib=$(TARGETDIR)/lib$(TARGETNAME).dll.a -endif - -#---------------------------------# -#  Building compilation flags that are sets - -DEPINCS ?= $(INCLUDES) -DEPINCS := $(addprefix -I, $(DEPINCS)) - -INCLUDES := $(addprefix -I, $(INCLUDES)) -STDINCS := $(addprefix -I, $(STDINCS)) -EXTRAINCS := $(addprefix -I, $(EXTRAINCS)) -DEFINES := $(addprefix -D, $(DEFINES)) - -LIBS := $(addprefix -l, $(LIBS)) -ifdef LDIR -  LDIR := $(addprefix -L, $(LDIR)) -endif - - -#---------------------------------# -# Definitions of private variables - -# Library flags for application and dynamic library linker -LFLAGS += $(LDIR) $(LIBS) -# C compiler flags -CFLAGS   = $(FLAGS) $(STDFLAGS) $(INCLUDES) $(STDINCS) $(EXTRAINCS) $(DEFINES) $(STDDEFS) -# C++ compiler flags -CXXFLAGS = $(CPPFLAGS) $(STDFLAGS) $(INCLUDES) $(STDINCS) $(EXTRAINCS) $(DEFINES) $(STDDEFS) - -# 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)/$(TARGETAPPNAME) -else -  ifeq ($(NO_DYNAMIC), Yes) -    TARGET := $(TARGETDIR)/$(TARGETSLIBNAME) -  else -  ifeq ($(NO_STATIC), Yes) -    TARGET := $(TARGETDIR)/$(TARGETDLIBNAME) -  else -    TARGET := $(TARGETDIR)/$(TARGETSLIBNAME) $(TARGETDIR)/$(TARGETDLIBNAME) -  endif -  endif -endif - -# OBJ: list of .o, without path -# OBJS: list of .o with relative path -OBJ = $(notdir $(SRC)) -OBJ := $(OBJ:.c=.o) -OBJ := $(OBJ:.cpp=.o) -OBJ := $(OBJ:.cxx=.o) -OBJ := $(OBJ:.cc=.o) -OBJ := $(OBJ:.f=.o) -OBJ := $(OBJ:.for=.o) -OBJ := $(OBJ:.rc=.ro) -OBJS = $(addprefix $(OBJDIR)/, $(OBJ)) - -ifdef LOHPACK -  # Package with all LOHs -  LOHS := $(LOHDIR)/$(LOHPACK) -  LOHDIRS := -else -  # LOH: list of .loh, without path -  # LOHS: list of .loh, with relative path -  LO = $(notdir $(SRCLUA)) -  LO := $(LO:.lua=$(LO_SUFFIX).lo) -  LOS = $(addprefix $(OBJROOT)/, $(LO)) - -  LOH = $(notdir $(SRCLUA)) -  LOH := $(LOH:.lua=$(LO_SUFFIX).loh) -  LOHS = $(addprefix $(LOHDIR)/, $(LOH)) -endif - -# Construct VPATH variable -P-SRC = $(dir $(SRC)) -P-SRC += $(dir $(SRCLUA)) -VPATH = .:$(foreach dir,$(P-SRC),$(if $(dir)="./",:$(dir))) - - -#---------------------------------# -# Main Rule - Build Everything that it is necessary - -.PHONY: tecmake -ifeq ($(MAKETYPE), APP) -  tecmake: print-start system-check directories application scripts -else -  ifeq ($(NO_DYNAMIC), Yes) -    tecmake: print-start system-check directories static-lib -  else -  ifeq ($(NO_STATIC), Yes) -    tecmake: print-start system-check directories dynamic-lib -  else -    tecmake: print-start system-check directories static-lib dynamic-lib -  endif -  endif -endif - -.PHONY: print-start -print-start: -	@echo ''; echo 'Tecmake: starting [ $(TARGETNAME):$(TEC_UNAME) ]' - -.PHONY: system-check -system-check: -  ifdef CHECK_XRENDER -    ifdef UNIX_POSIX -			@echo ''; echo 'Tecmake: check failed, XRender NOT available in this system.'; echo ''; exit 1; -    endif -  endif -  ifdef CHECK_GTK -    ifndef GTK_BASE -      ifdef UNIX_POSIX -      @echo ''; echo 'Tecmake: check failed, GTK NOT available in this system.'; echo ''; exit 1; -      else -        ifneq ($(findstring Linux24, $(TEC_UNAME)), ) -          @echo ''; echo 'Tecmake: check failed, GTK too OLD in this system.'; echo ''; exit 1; -        endif -      endif -    endif -  endif -  ifdef CHECK_GDIPLUS -    ifdef WIN_OTHER -			@echo ''; echo 'Tecmake: check failed, GDI+ NOT available in this system.'; echo ''; exit 1; -    endif -  endif - -#---------------------------------# -# Dynamic Library Build - -.PHONY: dynamic-lib -dynamic-lib: $(TARGETDIR)/$(TARGETDLIBNAME) - -$(TARGETDIR)/$(TARGETDLIBNAME) : $(LOHS) $(OBJS) $(EXTRADEPS) -	@echo ''; echo Tecmake: linking $(@F) ... -	$(ECHO)$(LD) $(STDLDFLAGS) -o $@ $(OBJS) $(SLIB) $(LFLAGS) -	@echo ''; echo 'Tecmake: Dynamic Library ($@) Done.'; echo '' - - -#---------------------------------# -# Static Library Build - -.PHONY: static-lib -static-lib: $(TARGETDIR)/$(TARGETSLIBNAME) - -$(TARGETDIR)/$(TARGETSLIBNAME) : $(LOHS) $(OBJS) $(EXTRADEPS) -	@echo ''; echo Tecmake: librarian $(@F) ... -	$(ECHO)$(AR) $(STDLFLAGS) $@ $(OBJS) $(SLIB) $(LCFLAGS) -	@echo ''; echo Tecmake: updating lib TOC $(@F) ... -	$(ECHO)-$(RANLIB) $@ -	@echo ''; echo 'Tecmake: Static Library ($@) Done.'; echo '' - - -#---------------------------------# -# Application Build - -.PHONY: application -application: $(TARGETDIR)/$(TARGETAPPNAME) - -$(TARGETDIR)/$(TARGETAPPNAME) : $(LOHS) $(OBJS) $(EXTRADEPS) -	@echo ''; echo Tecmake: linking $(@F) ... -	$(ECHO)$(LINKER) -o $@ $(OBJS) $(SLIB) $(LFLAGS) -	@if [ ! -z "$(STRIP)" ]; then \ -	   echo ''; echo 'Tecmake: striping debug information' ;\ -	   strip $@ ;\ -	 fi -	@echo ''; echo 'Tecmake: Application ($@) Done.'; echo '' - - -#---------------------------------# -#  Application Scripts - -# Script name -SRELEASE := $(SRCDIR)/$(TARGETNAME) - -.PHONY: scripts -ifdef NO_SCRIPTS -  scripts: ; -else -  scripts: $(SRELEASE) ; -endif - -$(SRELEASE): $(MAKENAME) -	@echo ''; echo 'Tecmake: building script $(@F)' -	@echo "#!/bin/csh" > $@ -	@echo "# Script generated automatically by tecmake v$(VERSION)" >> $@ -	@echo "# Remove the comment bellow to set the LD_LIBRARY_PATH if needed." >> $@ -	@echo '#setenv LD_LIBRARY_PATH $(MYLIB1)/lib/$${TEC_UNAME}:$(MYLIB2)/lib/$${TEC_UNAME}:$$LD_LIBRARY_PATH' >> $@ -	@echo 'if ( -r app.env ) source app.env' >> $@ -	@echo 'exec $(TARGETROOT)/$$TEC_UNAME/$(TARGETNAME) $$*' >> $@ -	@chmod a+x $@ - - -#---------------------------------# -# Directories Creation - -.PHONY: directories -directories: $(OBJDIR) $(TARGETDIR) $(EXTRADIR) $(LOHDIR) - -$(OBJDIR) $(TARGETDIR): -	if [ ! -d $@ ] ; then mkdir -p $@ ; fi - -ifdef EXTRADIR -  $(EXTRADIR): -	  if [ ! -d $@ ] ; then mkdir -p $@ ; fi -else -  $(EXTRADIR): ; -endif - -ifdef LOHDIR -  $(LOHDIR): -	  if [ ! -d $@ ] ; then mkdir -p $@ ; fi -else -  $(LOHDIR): ; -endif - - -#---------------------------------# -# Compilation Rules - -$(OBJDIR)/%.o:  $(SRCDIR)/%.c -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CC) -c $(CFLAGS) -o $@ $< - -$(OBJDIR)/%.o:  $(SRCDIR)/%.cpp -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) -c $(CXXFLAGS) -o $@ $< - -$(OBJDIR)/%.o:  $(SRCDIR)/%.cxx -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) -c $(CXXFLAGS) -o $@ $< - -$(OBJDIR)/%.o:  $(SRCDIR)/%.cc -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) -c $(CXXFLAGS) -o $@ $< - -$(OBJDIR)/%.o: $(SRCDIR)/%.f -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(FC) -c $(FFLAGS) -o $@ $< - -$(OBJDIR)/%.o: $(SRCDIR)/%.for -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(FC) -c $(FFLAGS) -o $@ $< - -$(OBJDIR)/%.ro:  $(SRCDIR)/%.rc -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(RCC) $(RCFLAGS) -O coff -o $@ $< - -$(LOHDIR)/%.loh:  $(OBJROOT)/%.lo -	@echo ''; echo Tecmake: generating $(<F) ... -	$(ECHO)$(BIN2C) $< > $@ - -$(OBJROOT)/%$(LO_SUFFIX).lo:  $(SRCLUADIR)/%.lua -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(LUAC) -o $@ $< - -ifdef LOHPACK -$(LOHDIR)/$(LOHPACK):  $(SRCLUA) -	@echo ''; echo Tecmake: generating $(<F) ... -	$(ECHO)$(LUABIN) $(LUAPRE) $(LUAPREFLAGS) -l $(SRCLUADIR) -o $@ $(SRCLUA) -endif - - -#---------------------------------# -# Dependencies - -#   Build dependencies -.PHONY: depend -depend: $(DEPEND) - -$(DEPEND): $(MAKENAME) -  ifdef SRC -	  @echo "" > $(DEPEND) -	  @which $(CPPC) 2> /dev/null 1>&2 ;\ -	  if [ $$? -eq 0 ]; then \ -	    echo "Tecmake: Building Dependencies ... [ $(DEPEND) ] (can be slow)" ;\ -	    $(CPPC) $(DEPINCS) $(DEFINES) $(STDDEFS) -MM $(SOURCES) | \ -	    sed -e '1,$$s/^\([^ ]\)/$$(OBJDIR)\/\1/' > $(DEPEND) ;\ -	  else \ -	    echo "" ;\ -	    echo "Tecmake: error, $(CPPC) not found. Dependencies can not be built." ;\ -	    echo "Must set NO_DEPEND=Yes." ;\ -	    echo "" ;\ -	    exit 1 ;\ -	  fi -  endif - -ifdef USE_NODEPEND -  NO_DEPEND:=Yes -endif - -################### -ifndef NO_DEPEND -include $(DEPEND) -endif -################### - - -#---------------------------------# -# Management Rules - -#   Remove extra files -.PHONY: clean-extra -clean-extra: -	rm -f $(DEPEND) $(SRELEASE) so_locations - -#   Remove Lua object inclusion files -.PHONY: clean-lohs -clean-lohs: -	rm -f $(LOS) $(LOHS) - -#   Remove object files -.PHONY: clean-obj -clean-obj: -	rm -f $(OBJS) - -#   Remove target -.PHONY: clean-target -clean-target: -	rm -f $(TARGET) - -.PHONY: clean-dir -clean-dir: -	rm -fr $(OBJROOT) $(TARGETROOT) - -#   Remove target and object files -.PHONY: clean -clean: clean-target clean-obj - -#   Remove symbols from executables -.PHONY: strip -strip: -	test -r $(TARGETDIR)/$(TARGETAPPNAME) && strip $(TARGETDIR)/$(TARGETAPPNAME) - -#   Rebuild target and object files -.PHONY: rebuild -rebuild: clean-extra clean-lohs clean-obj clean-target tecmake - -#   Rebuild target without rebuilding object files -.PHONY: relink -relink: clean-target tecmake - -#   Remove target and object files -.PHONY: clean-all-obj -clean-all-obj: -	@for d in $(UNAMES); do \ -	  (cd $(OBJROOT)/$$d; echo $(OBJ) | xargs rm -f) ;\ -	done - -#   Remove libraries and executables for all platforms -.PHONY: clean-all-target -clean-all-target: -	@for d in $(UNAMES); do \ -	  (rm -f $(TARGETROOT)/$$d/$(TARGETNAME) $(TARGETROOT)/$$d/$(TARGETSLIBNAME) $(TARGETROOT)/$$d/$(TARGETDLIBNAME)) ;\ -	done - -#---------------------------------# -# Remote build -# There must be aliases in DNS for the known UNAMES -.PHONY: $(UNAMES) -$(UNAMES): -	@cwd=`csh -c "\\pwd"` ; home=`csh -c "cd;\\pwd"` ;\ -	 dir=`echo $$cwd | sed -e "s|$$home/||"` ;\ -	 xterm -bg black -fg lightblue -T "Tecmake: $@ ($(TARGETNAME))" -e ssh $@ $(REMOTE) $$dir $(TECMAKEFLAGS) $(MAKEFLAGS) & 2> /dev/null - - -#---------------------------------# - -.PHONY: version -version: -	@echo "Tecmake Posix Version $(VERSION)" - -#---------------------------------# diff --git a/src/tecmakewin.mak b/src/tecmakewin.mak deleted file mode 100644 index 90506ed..0000000 --- a/src/tecmakewin.mak +++ /dev/null @@ -1,1384 +0,0 @@ -#-------------------------------------------------------------------------# -#- Tecmake  (Windows Version)                                            -# -#- Generic Makefile to build applications and libraries at TeCGraf       -# -#- The user makefile usually has the name "config.mak".                  -# -#-------------------------------------------------------------------------# - -#---------------------------------# -# Tecmake Version -VERSION = 4.3 - - -#---------------------------------# -# First target  -.PHONY: build -build: tecmake - - -#---------------------------------# -# Location of this file -TECMAKE  = $(TECMAKE_HOME)/tecmakewin.mak - - -#---------------------------------# -# System Variables Definitions - -# If tecmake.bat is not used,  -# then at least define main system variables. - -WIN32NAMES = vc10 vc9 vc8 vc7 vc6 owc1 bc55 bc56 bc6 gcc3 gcc4 mingw3 mingw4 dllw4 dllg4 dll dll7 dll8 dll9 dll10 -WIN64UNAMES = vc10_64 vc9_64 vc8_64 dll8_64 dll9_64 dll10_64 - -ifdef TEC_UNAME -  ifneq ($(findstring $(TEC_UNAME), $(WIN32NAMES)), ) -    TEC_WIN32 = Yes -  else -    ifneq ($(findstring $(TEC_UNAME), $(WIN64NAMES)), ) -      TEC_WIN64 = Yes -    endif -  endif -endif - -ifdef TEC_WIN64 -  TEC_SYSNAME=Win64 TEC_SYSARCH=x64 -  ifeq ($(PROCESSOR_ARCHITECTURE), x86) -    # Define this if compiling for 64-bits in a 32bits environment -    USE_X86_CL64=Yes -  endif -else -  TEC_SYSNAME=Win32 -  TEC_SYSARCH=x86 -endif - - -#---------------------------------# -# System Info -.PHONY: sysinfo -sysinfo: -	@echo ''; echo 'Tecmake: System Info' -	@echo 'TEC_SYSNAME = $(TEC_SYSNAME)' -	@echo 'TEC_SYSARCH = $(TEC_SYSARCH)' -	@echo 'TEC_UNAME = $(TEC_UNAME)'; echo '' - - -#---------------------------------# -# Known platforms - -UNAMES = $(WIN32NAMES) $(WIN64NAMES) - - -#---------------------------------# -# Directories Definitions - -PROJDIR = .. -SRCDIR  = . -OBJROOT = $(PROJDIR)/obj - - -# --------------------------------------------------------- -# Byte Order and Word Size -   -ifneq ($(findstring x86, $(TEC_SYSARCH)), ) -   TEC_BYTEORDER = TEC_LITTLEENDIAN -else -ifeq ($(TEC_SYSARCH), arm) -   TEC_BYTEORDER = TEC_LITTLEENDIAN -else -   TEC_BYTEORDER = TEC_BIGENDIAN -endif -endif - -ifeq ($(TEC_SYSARCH), x64) -  TEC_BYTEORDER = TEC_LITTLEENDIAN -  TEC_WORDSIZE = TEC_64 -else -  TEC_WORDSIZE = TEC_32 -endif - -# Itanium Exception -ifeq ($(TEC_SYSARCH), ia64) -  TEC_BYTEORDER = TEC_LITTLEENDIAN -  TEC_WORDSIZE = TEC_64 -endif - - -#---------------------------------# -# Tools - -SHELL      = bash -SLASH      = slash_parser - -# Packed LOHs script -LUAPRE = "$(TECMAKE_PATH)"/luapre.lua - - -#---------------------------------# -# Defaults -APPTYPE = windows -INCLUDES =  -LIBS = -LIB = - - -#---------------------------------# -# User Configuration File - -MAKENAME = config.mak - -ifdef MF -  MAKENAME = $(MF).mak -endif  - -################### -include $(MAKENAME) -################### - - -#---------------------------------# -# Definitions of public variables  - -ifdef LIBNAME -  TARGETNAME = $(LIBNAME) -  MAKETYPE = LIB -else -  TARGETNAME = $(APPNAME) -  MAKETYPE = APP -endif - -ifndef TARGETNAME -  $(error LIBNAME nor APPNAME defined in $(MAKENAME))  -endif - -PROJNAME ?= $(TARGETNAME) - -ifneq ($(PROJNAME), $(TARGETNAME)) -  OBJROOT := $(OBJROOT)/$(TARGETNAME) -endif - -ifneq ($(findstring dll, $(TEC_UNAME)), ) -  ifneq ($(MAKETYPE), APP) -    MAKETYPE = DLL -    DEF_FILE ?= $(TARGETNAME).def -    DEF_FILE := $(SRCDIR)/$(DEF_FILE) -  endif -endif - -DEPEND := $(TARGETNAME).wdep - -ifdef DEPENDDIR -  DEPEND := $(DEPENDDIR)/$(TARGETNAME).dep.$(TEC_UNAME) -endif - - -# --------------------------------------------------------- -# LO and LOH Suffix - -SRCLUADIR ?= $(SRCDIR) -LOHDIR ?= $(SRCLUADIR) - -ifdef USE_LOH_SUBDIR -  ifeq ($(TEC_BYTEORDER), TEC_BIGENDIAN) -    ifeq ($(TEC_WORDSIZE), TEC_64) -      LOH_SUBDIR ?= be64 -    else -      LOH_SUBDIR ?= be32 -    endif -  else -    ifeq ($(TEC_WORDSIZE), TEC_64) -      # longs in 64-bits Windows are 32 bits!!! -      LOH_SUBDIR ?= le64w -    else -      LOH_SUBDIR ?= le32 -    endif -  endif -  LOHDIR := $(LOHDIR)/$(LOH_SUBDIR) -  INCLUDES += $(LOHDIR) -else -  ifeq ($(TEC_BYTEORDER), TEC_BIGENDIAN) -    ifeq ($(TEC_WORDSIZE), TEC_64) -      LO_SUFFIX ?= _be64 -    else -      LO_SUFFIX ?= _be32 -    endif -  else -    ifeq ($(TEC_WORDSIZE), TEC_64) -      # longs in 64-bits Windows are 32 bits!!! -      LO_SUFFIX ?= _le64w -    else -      LO_SUFFIX ?= -    endif -  endif -endif - - -#---------------------------------# -# Main Rule - Build Everything that it is necessary - -.PHONY: tecmake -ifeq ($(MAKETYPE), APP) -  tecmake: print-start system-check directories application scripts -else -  ifeq ($(MAKETYPE), DLL) -    tecmake: print-start system-check directories dynamic-lib -  else -    tecmake: print-start system-check directories static-lib -  endif -endif - -.PHONY: print-start -print-start: -	@echo ''; echo 'Tecmake: Starting [ $(TARGETNAME):$(TEC_UNAME) ]' -  -   -#---------------------------------# -# Definitions of public variables  - -ifeq ($(MAKETYPE), APP) -  TARGETROOT ?= $(PROJDIR)/bin -else -  TARGETROOT ?= $(PROJDIR)/lib -endif - -ifeq ($(MAKETYPE), APP) -  TEC_UNAME_DIR ?= $(TEC_SYSNAME) -else -  TEC_UNAME_DIR ?= $(TEC_UNAME) -endif - -ifdef DBG -  ifdef DBG_DIR -    TEC_UNAME_DIR := $(TEC_UNAME_DIR)d -  endif -endif - -OBJDIR := $(OBJROOT)/$(TEC_UNAME_DIR) -TARGETDIR := $(TARGETROOT)/$(TEC_UNAME_DIR) - -TARGETEXE := $(TARGETDIR)/$(TARGETNAME).exe -TARGETDLL := $(TARGETDIR)/$(TARGETNAME).dll -TARGETLIB := $(TARGETDIR)/$(TARGETNAME).lib -ifneq ($(findstring gcc, $(TEC_UNAME)), ) -  TARGETLIB := $(TARGETDIR)/lib$(TARGETNAME).a -endif -ifneq ($(findstring mingw, $(TEC_UNAME)), ) -  TARGETLIB := $(TARGETDIR)/lib$(TARGETNAME).a -endif -ifneq ($(findstring dllg4, $(TEC_UNAME)), ) -  TARGETLIB := $(TARGETDIR)/$(TARGETNAME).a -endif -ifneq ($(findstring dllw4, $(TEC_UNAME)), ) -  TARGETLIB := $(TARGETDIR)/$(TARGETNAME).a -endif - -ifdef NO_ECHO -  ECHO:=@ -endif - -#---------------------------------# -# Platform/Compiler dependend parameters - -STDDEFS = -DTEC_UNAME=$(TEC_UNAME) -DTEC_SYSNAME=$(TEC_SYSNAME) -D$(TEC_BYTEORDER) -D$(TEC_WORDSIZE) -DWIN32 -STDLIB  = kernel32 user32 gdi32 winspool comdlg32 advapi32 shell32 ole32 oleaut32 uuid comctl32 - -#Compilers -VC6 ?= x:/lng/vc6 -VC7 ?= x:/lng/vc7 -VC8 ?= x:/lng/vc8 -VC9 ?= x:/lng/vc9 -VC10 ?= x:/lng/vc10 -OWC1 ?= x:/lng/owc1 -BC55 ?= x:/lng/bc55 -BC56 ?= x:/lng/cbuilderx -BC6  ?= x:/lng/bc6 -MINGW3 ?= x:/lng/mingw3 -MINGW4 ?= x:/lng/mingw4 -# The default location is in the PATH -#GCC3 ?= x:/lng/cygw15 -#GCC4 ?= x:/lng/cygw17 - -#Tools -QT ?= x:/lng/qt -GTK ?= x:/lng/gtk -GLUT ?= x:/lng/glut - -OBJEXT = obj -LIBEXT = lib - -ifeq "$(TEC_UNAME)" "vc6" -  COMPILER = $(VC6) -endif - -ifeq "$(TEC_UNAME)" "vc7" -  COMPILER = $(VC7) -endif - -ifeq "$(TEC_UNAME)" "vc8" -  COMPILER = $(VC8) -endif - -ifeq "$(TEC_UNAME)" "vc8_64" -  COMPILER = $(VC8) -  BUILD64 = Yes -  SDKLIBBIN = /amd64 -endif - -ifeq "$(TEC_UNAME)" "vc9" -  COMPILER = $(VC9) -endif - -ifeq "$(TEC_UNAME)" "vc9_64" -  COMPILER = $(VC9) -  BUILD64 = Yes -endif - -ifeq "$(TEC_UNAME)" "vc10" -  COMPILER = $(VC10) -endif - -ifeq "$(TEC_UNAME)" "vc10_64" -  COMPILER = $(VC10) -  BUILD64 = Yes -endif - -ifeq "$(TEC_UNAME)" "dll" -  COMPILER = $(VC6) -  USE_DLL = Yes -endif - -ifeq "$(TEC_UNAME)" "dll7" -  COMPILER = $(VC7) -  USE_DLL = Yes -endif - -ifeq "$(TEC_UNAME)" "dll8" -  COMPILER = $(VC8) -  USE_DLL = Yes -  ifdef DBG -    #debug info not working for dll8 linker -    define DBG -    endef -  endif -endif - -ifeq "$(TEC_UNAME)" "dll8_64" -  COMPILER = $(VC8) -  USE_DLL = Yes -  BUILD64 = Yes -  SDKLIBBIN = /amd64 -endif - -ifeq "$(TEC_UNAME)" "dll9" -  COMPILER = $(VC9) -  USE_DLL = Yes -endif - -ifeq "$(TEC_UNAME)" "dll9_64" -  COMPILER = $(VC9) -  USE_DLL = Yes -  BUILD64 = Yes -endif - -ifeq "$(TEC_UNAME)" "dll10" -  COMPILER = $(VC10) -  USE_DLL = Yes -endif - -ifeq "$(TEC_UNAME)" "dll10_64" -  COMPILER = $(VC10) -  USE_DLL = Yes -  BUILD64 = Yes -endif - -ifeq "$(COMPILER)" "$(VC6)" -  TEC_CC = vc -  # Use the VC7 Platform SDK, no harm if VC7 is not installed -  PLATSDK ?= $(VC7)/PlatformSDK -  OLD_OPENGL = Yes -endif - -ifeq "$(COMPILER)" "$(VC7)" -  TEC_CC = vc -  PLATSDK ?= $(VC7)/PlatformSDK -  OLD_OPENGL = Yes -endif - -ifeq "$(COMPILER)" "$(VC8)" -  NEW_VC_COMPILER = Yes -  TEC_CC = vc -  STDDEFS += -DMSVC8 -  PLATSDK ?= $(VC8)/PlatformSDK -  OLD_OPENGL = Yes -  ifdef USE_DLL -    GEN_MANIFEST ?= Yes -  else -    #there is no single thread RTL in VC8 -    USE_MT = Yes   -  endif -endif - -ifeq "$(COMPILER)" "$(VC9)" -  NEW_VC_COMPILER = Yes -  TEC_CC = vc -  STDDEFS += -DMSVC9 -  ifdef USE_DLL -    GEN_MANIFEST ?= Yes -  else -    #there is no single thread RTL in VC9 -    USE_MT = Yes   -  endif -  ifdef VC9SDK -    PLATSDK ?= $(VC9SDK) -  else -    # Not the real folder, we copied from "C:\Program Files\Microsoft SDKs\Windows\v6.0A" -    PLATSDK ?= $(VC9)/WinSDK -  endif -  RESBIN := $(PLATSDK)/bin -  ifdef BUILD64 -    RESBIN := $(RESBIN)/x64 -  endif -endif - -ifeq "$(COMPILER)" "$(VC10)" -  NEW_VC_COMPILER = Yes -  TEC_CC = vc -  STDDEFS += -DMSVC10 -  ifdef USE_DLL -    GEN_MANIFEST ?= Yes -  else -    #there is no single thread RTL in VC10 -    USE_MT = Yes   -  endif -  ifdef VC10SDK -    PLATSDK ?= $(VC10SDK) -  else -    # Not the real folder, we copied from "C:\Program Files\Microsoft SDKs\Windows\v7.1" -    PLATSDK ?= $(VC10)/WinSDK -  endif -  RESBIN := $(PLATSDK)/bin -  ifdef BUILD64 -    RESBIN := $(RESBIN)/x64 -  endif -endif - -ifeq "$(TEC_CC)" "vc" -  ifdef BUILD64 -    STDDEFS += -DWIN64 -    MACHINE = X64 -    GTK := $(GTK)_x64 -    VCLIBBIN = /amd64 -    SDKLIBBIN ?= /x64 -    ifdef USE_X86_CL64 -      BIN = $(COMPILER)/bin/x86_amd64 -    else -      BIN = $(COMPILER)/bin/amd64 -    endif -  else -    VCLIBBIN = -    SDKLIBBIN = -    MACHINE = X86 -    BIN = $(COMPILER)/bin -  endif -  RESBIN ?= $(COMPILER)/bin -  CC        = $(BIN)/cl -nologo -  CPPC      = $(BIN)/cl -nologo -  LIBC      = $(BIN)/link -lib -nologo -  LINKER    = $(BIN)/link -nologo -  MT        = $(RESBIN)/mt -nologo -  RCC       = $(RESBIN)/rc -fo -  STDINCS   = $(PLATSDK)/include $(COMPILER)/include -  STDFLAGS  = -c -Fo$(OBJDIR)/ -W3 -  STDLFLAGS =  -  DEPDEFS   = -D_WIN32 -D_M_IX86 -D_STDCALL_SUPPORTED -  STDLIBDIR = -LIBPATH:$(COMPILER)/lib$(VCLIBBIN) -LIBPATH:$(PLATSDK)/lib$(SDKLIBBIN) -  OPTFLAGS := -O2 -  DEBUGFLAGS := -Z7 -Od -GZ -  ifdef NEW_VC_COMPILER -    DEBUGFLAGS := -Z7 -Od -RTC1 -    STDDEFS += -D_CRT_SECURE_NO_DEPRECATE -    ifndef CPP_NARROW_INLINES -      STDDEFS += -D_CPP_NARROW_INLINES_DEFINED -    endif -    STDFLAGS += -EHsc   -  else                  # Exception Handling Model -    STDFLAGS += -GX -  endif -  ifneq ($(MAKETYPE), LIB) -    ifeq "$(COMPILER)" "$(VC6)" -      STDLFLAGS += -pdb:none -incremental:no -machine:$(MACHINE) -    else -      STDLFLAGS += -incremental:no -machine:$(MACHINE) -    endif -    ifdef DBG -      STDLFLAGS += -debug -    endif  -    ifdef NEW_VC_COMPILER -      ifndef GEN_MANIFEST -        STDLFLAGS += -MANIFEST:NO -      else -        ifeq ($(GEN_MANIFEST), No) -          STDLFLAGS += -MANIFEST:NO -        else -          STDLFLAGS += -MANIFEST -        endif -      endif -    endif -  endif -  ifeq ($(MAKETYPE), APP) -    ifeq "$(COMPILER)" "$(VC6)" -      STDFLAGS += -GA -    else -      OPTFLAGS += -GL -      ifdef OPT -        STDLFLAGS += -LTCG -      endif -    endif -    STDLFLAGS += -subsystem:$(APPTYPE) -out:$(TARGETEXE) -  else -    ifeq ($(MAKETYPE), DLL) -      ifeq "$(COMPILER)" "$(VC6)" -        STDFLAGS += -GD -      else -        OPTFLAGS += -GL -        STDLFLAGS += -LTCG -      endif -      STDLFLAGS += -dll -subsystem:$(APPTYPE) -out:$(TARGETDLL) -implib:$(TARGETLIB) -def:$(DEF_FILE) -    else -      STDLFLAGS += -out:$(TARGETLIB) -    endif -  endif -  ifdef USE_DLL -    ifdef DBG -      STDFLAGS += -MDd -    else -      STDFLAGS += -MD -    endif -  else -    ifdef USE_MT -	    ifdef DBG -	      STDFLAGS += -MTd -	    else -	      STDFLAGS += -MT -	    endif -    else -	    ifdef DBG -	      STDFLAGS += -MLd -	    else -	      STDFLAGS += -ML -	    endif -    endif -  endif -endif -   -ifeq "$(TEC_UNAME)" "owc1" -  COMPILER = $(OWC1) -  TEC_CC  = wc -  STDLFLAGS =  -endif - -ifeq "$(TEC_CC)" "wc" -  WIN_OTHER = YES -  BIN     = $(COMPILER)/binnt -  CC      = $(SLASH) $(BIN)/wcc386 -  CPPC    = $(SLASH) $(BIN)/wpp386 -  LIBC    = $(SLASH) $(BIN)/wlib -  LINKER  = $(SLASH) $(BIN)/wlink -  RCC     = $(SLASH) $(BIN)/rc -fo -  STDINCS = $(COMPILER)/h $(COMPILER)/h/nt -  STDFLAGS += -od -w4 -5r -bt=nt -mf -e25 -zq -fo$(OBJDIR)/ -  STDLIBDIR = LIBP $(COMPILER)/lib386 LIBP $(COMPILER)/lib386/nt -  DEBUGFLAGS := -d2 -  OPTFLAGS := -ot -  ifeq ($(MAKETYPE), APP) -    STDLFLAGS = OP maxe=25 OP quiet FORM windows nt NAME $(TARGETEXE) -    ifeq ($(APPTYPE), CONSOLE) -      STDLFLAGS += RU con -    endif -  else -    STDLFLAGS += -b -c -n -q -p=512 $(TARGETLIB) -  endif -  ifdef USE_DLL -    STDFLAGS += -bm -br -  endif -endif - -ifeq "$(TEC_UNAME)" "bc55" -  COMPILER = $(BC55) -  TEC_CC  = bc -  OLD_OPENGL = Yes -endif - -ifeq "$(TEC_UNAME)" "bc56" -  COMPILER = $(BC56) -  TEC_CC  = bc -  OLD_OPENGL = Yes -endif - -ifeq "$(TEC_UNAME)" "bc6" -  COMPILER = $(BC6) -  TEC_CC  = bc -  OLD_OPENGL = Yes -endif - -ifeq "$(TEC_CC)" "bc" -  WIN_OTHER = YES -  TEC_CC   = bc -  BIN      = $(COMPILER)/bin -  CC       = $(BIN)/bcc32 -  CPPC     = $(BIN)/bcc32 -  LIBC     = $(BIN)/tlib /P32 -  RCC      = $(BIN)/brc32 -r -fo -  LINKER   = $(SLASH) $(BIN)/ilink32 -  STDINCS  = $(COMPILER)/include $(COMPILER)/include/dinkumware -  STDLIBDIR = -L$(COMPILER)/lib -L$(COMPILER)/lib/PSDK -  STDFLAGS  = -c -n$(OBJDIR)/ -  STDLIB    := cw32 import32 $(STDLIB) -  ifeq ($(MAKETYPE), APP) -    STDLFLAGS = -Tpe #-x -c -Gn -    ifeq ($(APPTYPE), CONSOLE) -      STARTUP = c0x32.obj -      STDLFLAGS += -ap -    else -      STARTUP = c0w32.obj -      STDLFLAGS += -aa -    endif -  else -    STDLFLAGS = $(TARGETLIB) -  endif -  OPTFLAGS := -O2 -  DEBUGFLAGS := -v -x -xp -  ifdef USE_DLL -    STDFLAGS += -tWDMR -  endif -endif - -ifeq "$(TEC_UNAME)" "gcc3" -  COMPILER = $(GCC3) -  TEC_CC  = gcc -  ifdef USE_OPENGL -    STDDEFS += -DUSE_OPENGL32 -  endif -endif - -ifeq "$(TEC_UNAME)" "gcc4" -  COMPILER = $(GCC4) -  TEC_CC  = gcc -  ifdef USE_OPENGL -    STDDEFS += -DUSE_OPENGL32 -  endif -endif - -ifeq "$(TEC_UNAME)" "mingw3" -  COMPILER = $(MINGW3) -  TEC_CC  = gcc -  OLD_OPENGL = Yes -endif - -ifeq "$(TEC_UNAME)" "mingw4" -  COMPILER = $(MINGW4) -  TEC_CC  = gcc -  OLD_OPENGL = Yes -endif - -ifeq "$(TEC_UNAME)" "dllg4" -  # USE_DLL is unused by gcc but we define it anyway -  USE_DLL = Yes -  COMPILER = $(GCC4) -  TEC_CC  = gcc -  ifdef USE_OPENGL -    STDDEFS += -DUSE_OPENGL32 -  endif -endif - -ifeq "$(TEC_UNAME)" "dllw4" -  # USE_DLL is unused by gcc but we define it anyway -  USE_DLL = Yes -  COMPILER = $(MINGW4) -  TEC_CC  = gcc -  OLD_OPENGL = Yes -endif - -ifeq "$(TEC_CC)" "gcc" -  WIN_OTHER = YES -  ifneq "$(findstring mingw, $(COMPILER))" "" -    BIN   = $(COMPILER)/bin/ -  endif -  CC      = $(BIN)gcc -  CPPC    = $(BIN)g++ -  LIBC    = $(BIN)ar -  RCC     = $(BIN)windres -O coff -o -  ifndef LINKER -    ifneq "$(findstring .cpp, $(SRC))" "" -      LINKER := $(CPPC) -    else -      LINKER := $(CC) -    endif -  endif -  RANLIB  = $(BIN)ranlib -  ifneq "$(findstring mingw, $(COMPILER))" "" -    STDINCS = $(COMPILER)/include -    STDLIBDIR = -L$(COMPILER)/lib -  endif -  STDFLAGS += -Wall -  DEBUGFLAGS := -g -  OPTFLAGS := -O2 -  OBJEXT=o -  LIBEXT=a -  ifeq ($(MAKETYPE), APP) -    STDLFLAGS = -Wl,-subsystem,$(APPTYPE) -  else -    ifeq ($(MAKETYPE), DLL) -      STDLFLAGS =  -    else -      STDLFLAGS = r -    endif -  endif -endif - -ifdef DBG -  STDFLAGS += $(DEBUGFLAGS) -  STDDEFS += -DDEBUG -else -  STDDEFS += -DNDEBUG -  ifdef OPT -    STDFLAGS += $(OPTFLAGS) -  endif -endif - -# allows an extra configuration file. -ifdef EXTRA_CONFIG -include $(EXTRA_CONFIG) -endif - -.PHONY: system-check -system-check: -  ifndef TEC_UNAME -			@echo ''; echo 'Tecmake: check failed, TEC_UNAME not defined.'; echo ''; -			@exit 1; -  endif -  ifndef TEC_WIN32 -    ifndef TEC_WIN64 -			@echo ''; echo 'Tecmake: check failed, TEC_UNAME not recognized.'; echo ''; -			@exit 1; -    endif -  endif -  ifdef CHECK_GDIPLUS -    ifdef WIN_OTHER -			@echo ''; echo 'Tecmake: check failed, GDI+ NOT available in this system.'; echo ''; -			@exit 1; -    endif -  endif - -   -#---------------------------------# -# Tecgraf Libraries Location -TECTOOLS_HOME ?= ../.. - -IUP   ?= $(TECTOOLS_HOME)/iup -CD    ?= $(TECTOOLS_HOME)/cd -IM    ?= $(TECTOOLS_HOME)/im -LUA   ?= $(TECTOOLS_HOME)/lua -LUA51 ?= $(TECTOOLS_HOME)/lua5.1 -LUA52 ?= $(TECTOOLS_HOME)/lua52 - - -#---------------------------------# -#  Pre-defined libraries - -# Library order: -#   user + iupcd + cd + iup + motif + X -# Library path order is reversed - -ifdef USE_LUA -  LUA_SUFFIX ?= -  LIBLUASUFX := 3 -endif - -ifdef USE_LUA4 -  LUA_SUFFIX ?= 4 -  LIBLUASUFX := 4 -  override USE_LUA = Yes -  LUA := $(LUA4) -endif - -ifdef USE_LUA5 -  LUA_SUFFIX ?= 5 -  LIBLUASUFX := 5 -  override USE_LUA = Yes -  LUA := $(LUA5) -endif - -ifdef USE_LUA50 -  LUA_SUFFIX ?= 50 -  LIBLUASUFX := 5 -  override USE_LUA = Yes -  LUA := $(LUA50) -  NO_LUALIB := Yes -endif - -ifdef USE_LUA51 -  LUA_SUFFIX ?= 5.1 -  LIBLUASUFX := 51 -  override USE_LUA = Yes -  LUA := $(LUA51) -  NO_LUALIB := Yes -endif - -ifdef USE_LUA52 -  LUA_SUFFIX ?= 52 -  LIBLUASUFX := 52 -  override USE_LUA = Yes -  LUA := $(LUA52) -  NO_LUALIB := Yes -endif - -ifdef USE_IUP3 -  override USE_IUP = Yes -# Inside Tecgraf only   -#  IUP := $(IUP)3 -endif  - -ifdef USE_IUPBETA -  IUP := $(IUP)/beta -endif  - -ifdef USE_CDBETA -  CD := $(CD)/beta -endif  - -ifdef USE_IMBETA -  IM := $(IM)/beta -endif  - -ifdef USE_GLUT -  override USE_OPENGL = Yes -  LIBS += glut32 -  LDIR += $(GLUT)/lib -  STDINCS += $(GLUT)/include -endif  - -ifdef USE_GDK -  override USE_GTK = Yes -endif - -ifdef USE_IUPCONTROLS -  override USE_CD = Yes -  override USE_IUP = Yes -  ifdef USE_IUPLUA -    LIBS += iupluacontrols$(LIBLUASUFX) -    override USE_CDLUA = Yes -  endif -  LIBS += iupcontrols -endif - -ifdef USE_IMLUA -  override USE_IM = Yes -  LIBS += imlua$(LIBLUASUFX) -endif - -ifdef USE_CDLUA -  override USE_CD = Yes -  LIBS += cdlua$(LIBLUASUFX) -endif - -ifdef USE_IUPLUA -  override USE_IUP = Yes -  ifdef USE_CD -    LIBS += iupluacd$(LIBLUASUFX) -  endif -  ifdef USE_OPENGL -    LIBS += iupluagl$(LIBLUASUFX) -  endif -  LIBS += iuplua$(LIBLUASUFX) -endif - -ifdef USE_LUA -  ifndef NO_LUALIB -    LIBS += lualib$(LUA_SUFFIX) -  endif -  LIBS += lua$(LUA_SUFFIX) -   -  LUA_LIB ?= $(LUA)/lib/$(TEC_UNAME) -  LDIR += $(LUA_LIB) -   -  LUA_INC   ?= $(LUA)/include -  INCLUDES += $(LUA_INC) -   -  LUA_BIN ?= $(LUA)/bin/$(TEC_SYSNAME) -  BIN2C     := $(LUA_BIN)/bin2c$(LUA_SUFFIX) -  LUAC      := $(LUA_BIN)/luac$(LUA_SUFFIX) -  LUABIN    := $(LUA_BIN)/lua$(LUA_SUFFIX) -endif - -ifdef USE_IUP  -  ifdef USE_CD -    LIBS += iupcd -  endif -  ifdef USE_GTK -    LIBS += iupgtk -  else -    LIBS += iup -  endif -  LDIR += $(IUP)/lib/$(TEC_UNAME) -  ifdef USE_OPENGL -    LIBS += iupgl -  endif -  ifdef USE_DLL -    ifeq ($(MAKETYPE), APP) -      LIBS += iupstub -    endif -  endif -  INCLUDES += $(IUP)/include -endif - -ifdef USE_CD -  ifdef USE_GDIPLUS -    CHECK_GDIPLUS = Yes -    LIBS += cdcontextplus gdiplus -  endif -  ifdef USE_CAIRO -    # To use Cairo with Win32 base driver (NOT for GDK) -    # Can NOT be used together with GDI+ -    LIBS += cdcairo pangocairo-1.0 cairo -  endif -  ifdef USE_GDK -    LIBS += cdgdk -  else -    LIBS += cd -  endif -  LIBS += freetype6 -  LDIR += $(CD)/lib/$(TEC_UNAME) -  INCLUDES += $(CD)/include -endif - -ifdef USE_IM -  LIBS += im -  LDIR += $(IM)/lib/$(TEC_UNAME) -  INCLUDES += $(IM)/include -endif - -ifdef USE_OPENGL -  ifdef OLD_OPENGL -    LIBS += glaux glu32 opengl32  -  else -    LIBS += glu32 opengl32 -  endif  -endif  - -ifdef USE_GTK -  STDINCS += $(GTK)/include/atk-1.0 $(GTK)/include/gtk-2.0 $(GTK)/include/cairo $(GTK)/include/pango-1.0 $(GTK)/include/glib-2.0 $(GTK)/lib/glib-2.0/include $(GTK)/lib/gtk-2.0/include -  ifeq "$(TEC_CC)" "gcc" -    STDFLAGS += -mms-bitfields -  endif -  LDIR += $(GTK)/lib -  LIBS += gtk-win32-2.0 gdk-win32-2.0 gdk_pixbuf-2.0 pango-1.0 pangowin32-1.0 gobject-2.0 gmodule-2.0 glib-2.0 -endif  - -ifdef USE_QT -	#STDFLAGS += -Zm200 -w34100 -w34189 -Zm200 -w34100 -w34189 -w34100 -w34189 -  STDINCS += $(QT)/include $(QT)/include/QtCore $(QT)/include/QtGui $(QT)/include/ActiveQt $(QT)/mkspecs/win32-msvc2005 -  STDDEFS += -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -  LDIR += $(QT)/lib -  LIBS += QtMain QtGui4 QtCore4 -endif - - -#---------------------------------# -#  Building compilation flags that are sets - -# INCLUDES for dependencies, remove references to "c:" and similars -DEPINCS := $(patsubst c:%, /cygdrive/c%, $(INCLUDES)) -DEPINCS := $(patsubst d:%, /cygdrive/d%, $(DEPINCS)) -DEPINCS := $(patsubst x:%, /cygdrive/x%, $(DEPINCS)) -DEPINCS := $(patsubst t:%, /cygdrive/t%, $(DEPINCS)) -DEPINCS := $(addprefix -I, $(DEPINCS)) - -INCLUDES := $(addprefix -I, $(INCLUDES)) -STDINCS := $(addprefix -I, $(STDINCS)) -EXTRAINCS := $(addprefix -I, $(EXTRAINCS)) -DEFINES := $(addprefix -D, $(DEFINES)) - -# For aplications and DLLs -ifneq ($(MAKETYPE), LIB) -  LIBS += $(STDLIB) -  LIBS := $(addsuffix .$(LIBEXT), $(LIBS)) - -  ifeq ($(TEC_CC), vc)  -    ifdef LDIR -      LDIR  := $(addprefix -LIBPATH:, $(LDIR)) -    endif -     -    STDLFLAGS += $(LDIR) $(STDLIBDIR) $(LIBS) -  endif - -  ifeq ($(TEC_CC), bc)  -    ifdef LDIR -      LDIR  := $(addprefix -L, $(LDIR)) -    endif -  endif - -  ifeq ($(TEC_CC), wc)  -    ifdef LDIR -      LDIR  := $(addprefix LIBP , $(LDIR)) -    endif -     -    LIBS := $(addprefix LIB , $(LIBS)) -     -    STDLFLAGS += $(LDIR) $(STDLIBDIR) $(LIBS) -  endif - -  ifeq ($(TEC_CC), gcc)  -    LIBS := $(addprefix -l, $(LIBS)) -    LIBS := $(LIBS:.a=) -    ifdef LDIR -      LDIR  := $(addprefix -L, $(LDIR)) -    endif -     -    STDLFLAGS += $(LDIR) $(STDLIBDIR) $(LIBS) -  endif - -endif - - -#---------------------------------# -# Definitions of private variables - -# C, C++ and RC compiler flags -CFLAGS   = $(FLAGS) $(STDFLAGS) $(INCLUDES) $(STDINCS) $(EXTRAINCS) $(DEFINES) $(STDDEFS) -CXXFLAGS = $(CPPFLAGS) $(STDFLAGS) $(INCLUDES) $(STDINCS) $(EXTRAINCS) $(DEFINES) $(STDDEFS) -RCFLAGS  = $(INCLUDES) $(STDINCS) $(EXTRAINCS) $(DEFINES) $(STDDEFS) - -# Sources with relative path -SOURCES    = $(addprefix $(SRCDIR)/, $(SRC)) - -# Target for applications or libraries -ifeq ($(MAKETYPE), APP) -  TARGET := $(TARGETEXE) -else -  ifeq ($(MAKETYPE), DLL) -    TARGET := $(TARGETDLL) $(TARGETLIB) $(TARGETDIR)/$(TARGETNAME).exp -  else -    TARGET := $(TARGETLIB) -  endif -endif - -# OBJ: list of .o, without path -# OBJS: list of .o with relative path -OBJ = $(notdir $(SRC)) -OBJ := $(OBJ:.c=.$(OBJEXT)) -OBJ := $(OBJ:.cpp=.$(OBJEXT)) -OBJ := $(OBJ:.cxx=.$(OBJEXT)) -OBJ := $(OBJ:.cc=.$(OBJEXT)) -OBJ := $(OBJ:.rc=.res) -OBJS = $(addprefix $(OBJDIR)/, $(OBJ)) - -# Construct VPATH variable -P-SRC = $(dir $(SRC)) -P-SRC += $(dir $(SRCLUA)) -VPATH = .:$(foreach dir,$(P-SRC),$(if $(dir)="./",:$(dir))) - -#---------------------------------# -ifdef LOHPACK -  # Pacote LOH unificado com todos scripts Lua precompilados -  LOHS := $(LOHDIR)/$(LOHPACK) -  LOHDIRS := -else -  # LOH: lista dos arquivos .loh, sem path -  # LOHS: lista dos arquivos .loh, com path relativo -  LO = $(notdir $(SRCLUA)) -  LO := $(LO:.lua=$(LO_SUFFIX).lo) -  LOS = $(addprefix $(OBJROOT)/, $(LO)) - -  LOH = $(notdir $(SRCLUA)) -  LOH := $(LOH:.lua=$(LO_SUFFIX).loh) -  LOHS = $(addprefix $(LOHDIR)/, $(LOH)) -endif - -#---------------------------------# -# Compiler depedent adjusts - -# CFLAGS: parametros passados ao linker e librarian -LINKFLAGS := $(LFLAGS)  $(STDLFLAGS) $(OBJS) $(SLIB) -LIBFLAGS  := $(LCFLAGS) $(STDLFLAGS) $(OBJS) $(SLIB) - -ifeq ($(TEC_CC), bc) -  ifeq ($(MAKETYPE), APP) -    LINKFLAGS = $(LFLAGS) $(STDLFLAGS) $(LDIR) $(STDLIBDIR) $(STARTUP) $(OBJS), $(TARGETEXE), , $(LIBS) $(SLIB),  -  else           -    LIBFLAGS  = $(LCFLAGS) $(subst /,\\, $(STDLFLAGS) $(addprefix +,$(OBJS) $(SLIB)))  -  endif   -endif - -ifeq ($(TEC_CC), wc)  -  ifeq ($(MAKETYPE), APP) -    LINKFLAGS = $(LFLAGS) $(STDLFLAGS) $(addprefix F , $(OBJS) $(SLIB))  -  else -    #wlib adds files using "+" as an option -    LIBFLAGS  := $(LCFLAGS) $(STDLFLAGS) $(addprefix +, $(OBJS) $(SLIB))  -  endif -endif - -ifeq ($(TEC_CC), gcc)  -  ifeq ($(MAKETYPE), APP) -    LINKFLAGS = -o $(TARGETEXE) $(OBJS) $(SLIB) $(LFLAGS) $(STDLFLAGS)  -  endif -  ifeq ($(MAKETYPE), DLL) -    LINKFLAGS = -shared -o $(TARGETDLL) -Wl,--out-implib=$(TARGETLIB) $(OBJS) $(DEF_FILE) $(SLIB) $(LFLAGS) $(STDLFLAGS)  -  endif -endif -     -#---------------------------------# -# Dynamic Library Build - -.PHONY: dynamic-lib -dynamic-lib: $(TARGETDLL) addmanifest - -$(TARGETDLL) : $(LOHS) $(OBJS) $(EXTRADEPS) $(DEF_FILE) -	@echo ''; echo Tecmake: linking $(@F) ... -	$(ECHO)$(LINKER) $(LINKFLAGS) -	@echo ''; echo 'Tecmake: Dynamic Library ($@) Done'; echo '' - -   -#---------------------------------# -# Static Library Build - -.PHONY: static-lib -static-lib: $(TARGETLIB) - -$(TARGETDIR)/$(TARGETNAME).lib : $(LOHS) $(OBJS) $(EXTRADEPS) -	@echo ''; echo Tecmake: librarian $(@F) ... -	$(ECHO)$(LIBC) $(LIBFLAGS) -	@echo ''; echo 'Tecmake: Static Library ($@) Done'; echo '' -	 -$(TARGETDIR)/lib$(TARGETNAME).a : $(LOHS) $(OBJS) $(EXTRADEPS) -	@echo ''; echo Tecmake: librarian $(@F) ... -	$(ECHO)$(LIBC) $(ARFLAGS) $@ $(OBJS) $(SLIB) -	@echo ''; echo Tecmake: updating lib TOC $(@F) ... -	$(ECHO)-$(RANLIB) $@ -	@echo ''; echo 'Tecmake: Static Library ($@) Done'; echo '' - -   -#---------------------------------# -# Application Build - -.PHONY: application -application: $(TARGETEXE) addmanifest - -$(TARGETEXE) : $(LOHS) $(OBJS) $(EXTRADEPS) -	@echo ''; echo Tecmake: linking $(@F) ... -	$(ECHO)$(LINKER) $(LINKFLAGS) -	@echo ''; echo 'Tecmake: Application ($@) Done.'; echo '' - -   -#---------------------------------# -#  Application Scripts - -# Nomes dos scripts -SRELEASE = $(SRCDIR)/$(TARGETNAME).bat -EXEC := $(subst /,\,$(TARGETEXE))  - -.PHONY: scripts -ifdef NO_SCRIPTS -  scripts: ; -else -  scripts: $(SRELEASE) ; -endif -   -$(SRELEASE): $(TARGETEXE) -	@echo ''; echo 'Tecmake: generating script $(@F)' -	@echo '@echo off' > $@ -	@echo 'REM Script generated automatically by tecmake v$(VERSION)' >> $@ -	@echo '$(EXEC) %*' >> $@ - -   -#---------------------------------# -# Directories Creation - -.PHONY: directories -directories: $(OBJDIR) $(TARGETDIR) $(EXTRADIR) $(LOHDIR) - -$(OBJDIR) $(TARGETDIR): -	if [ ! -d $@ ] ; then mkdir -p $@ ; fi - -ifdef EXTRADIR -  $(EXTRADIR): -	  if [ ! -d $@ ] ; then mkdir -p $@ ; fi -else -  $(EXTRADIR): ; -endif - -ifdef LOHDIR -  $(LOHDIR): -	  if [ ! -d $@ ] ; then mkdir -p $@ ; fi -else -  $(LOHDIR): ; -endif - - -#---------------------------------# -# Compilation Rules - -$(OBJDIR)/%.o:  $(SRCDIR)/%.c -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CC) -c $(CFLAGS) -o $@ $< - -$(OBJDIR)/%.o:  $(SRCDIR)/%.cpp -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) -c $(CXXFLAGS) -o $@ $< - -$(OBJDIR)/%.o:  $(SRCDIR)/%.cxx -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) -c $(CXXFLAGS) -o $@ $< - -$(OBJDIR)/%.o:  $(SRCDIR)/%.cc -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) -c $(CXXFLAGS) -o $@ $< - -$(OBJDIR)/%.obj:  $(SRCDIR)/%.c -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CC) $(CFLAGS) $< - -$(OBJDIR)/%.obj:  $(SRCDIR)/%.cpp -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) $(CXXFLAGS) $< -	 -$(OBJDIR)/%.obj:  $(SRCDIR)/%.cxx -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) $(CXXFLAGS) $< -	 -$(OBJDIR)/%.obj:  $(SRCDIR)/%.cc -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(CPPC) $(CXXFLAGS) $< -	 -$(OBJDIR)/%.res:  $(SRCDIR)/%.rc -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(RCC) $@ $(RCFLAGS) $< - -$(LOHDIR)/%.loh:  $(OBJROOT)/%.lo -	@echo ''; echo Tecmake: generating $(<F) ... -	$(ECHO)$(BIN2C) $< > $@ - -$(OBJROOT)/%$(LO_SUFFIX).lo: $(SRCLUADIR)/%.lua -	@echo ''; echo Tecmake: compiling $(<F) ... -	$(ECHO)$(LUAC) -o $@ $< - -ifdef LOHPACK -$(LOHDIR)/$(LOHPACK):  $(SRCLUA) -	@echo ''; echo Tecmake: Generating $(<F) ... -	$(ECHO)$(LUABIN) $(LUAPRE) $(LUAPREFLAGS) -l $(SRCLUADIR) -o $@ $(SRCLUA) -endif - - -#---------------------------------# -# Rule to add a manifest file to the generted binary -.PHONY: addmanifest -addmanifest: -  ifdef NEW_VC_COMPILER -    ifeq ($(GEN_MANIFEST), Yes) -	    @echo ''; echo Tecmake: adding Manifest ... -      ifeq ($(MAKETYPE), DLL) -	      $(ECHO)$(MT) -manifest $(TARGETDLL).manifest "-outputresource:$(TARGETDLL);2" -      endif -      ifeq ($(MAKETYPE), APP) -	      $(ECHO)$(MT) -manifest $(TARGETEXE).manifest "-outputresource:$(TARGETEXE);1" -      endif -    endif -  endif - -   -#---------------------------------# -# Dependencies - -.PHONY: depend  -depend: $(DEPEND) - -$(DEPEND): $(MAKENAME) -  ifdef SRC -	  @echo "" > $(DEPEND) -	  @which gcc 2> /dev/null 1>&2 ;\ -	  if [ $$? -eq 0 ]; then \ -	    echo "Tecmake: Building Dependencies ... (can be slow)" ;\ -	    g++ $(DEPINCS) $(DEFINES) $(STDDEFS) $(DEPDEFS) -MM $(SOURCES) | \ -	    sed -e '1,$$s/^\([^ ]*\)\.o/$$(OBJDIR)\/\1.$(OBJEXT)/' > $(DEPEND) ;\ -	  else \ -	    echo "" ;\ -	    echo "Tecmake: error, g++ not found. Dependencies can not be built." ;\ -	    echo "Must set NO_DEPEND=Yes" ;\ -	    echo "" ;\ -	    exit 1 ;\ -	  fi -  endif - -ifdef USE_NODEPEND -  NO_DEPEND:=Yes -endif -   -################### -ifndef NO_DEPEND -include $(DEPEND)    -endif -################### - - -#---------------------------------# -# Management Rules - -.PHONY: clean-dir -clean-dir: -	rm -fr $(OBJROOT) $(TARGETROOT) - -#   Remove extra files -.PHONY: clean-extra -clean-extra: -	rm -f $(DEPEND) $(SRELEASE) - -#   Remove Lua object inclusion files -.PHONY: clean-lohs -clean-lohs: -	rm -f $(LOS) $(LOHS) -	 -#   Remove object files -.PHONY: clean-obj -clean-obj: -	rm -f $(OBJS) - -#   Remove target -.PHONY: clean-target -clean-target: -	rm -f $(TARGET) - -#   Remove target and object files -.PHONY: clean-all-obj -clean-all-obj: -	@for d in $(UNAMES); do \ -	  (cd $(OBJROOT)/$$d; echo $(OBJ) | xargs rm -f) ;\ -	done - -#   Remove libraries and executables for all platforms -.PHONY: clean-all-target -clean-all-target: -	@for d in $(UNAMES); do \ -	  (rm -f $(TARGETROOT)/$$d/$(TARGETNAME).exe $(TARGETROOT)/$$d/$(TARGETNAME).$(LIBEXT) $(TARGETROOT)/$$d/$(TARGETNAME).dll $(TARGETROOT)/$$d/$(TARGETNAME).exp) ;\ -	done - -.PHONY: clean -clean: clean-target clean-obj - -.PHONY: clean-all -clean-all: clean-extra clean-lohs clean-all-target clean-all-obj - -#   Rebuild target and object files  -.PHONY: rebuild -rebuild: clean-extra clean-lohs clean-obj clean-target tecmake - -#   Rebuild target without rebuilding object files  -.PHONY: relink -relink: clean-target tecmake - - -#---------------------------------# - -.PHONY: version -version: -	@echo "Tecmake Windows Version $(VERSION)" - -#---------------------------------# | 
