ecere/gui/Window: Prevent uninitialized values if base Window methods not overridden...
[sdk] / default.cf
index cb51e7c..fc8cba4 100644 (file)
-EC_BINS := $(_CF_DIR)$(if $(USE_BOOTSTRAP),compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/,obj/$(HOST_PLATFORM)/bin/)
+EC_BINS := $(_CF_DIR)$(if $(USE_BOOTSTRAP),compiler/bootstrap/obj/bin.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/,obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
+
+ifdef WINDOWS_HOST
+ # Auto-Select MinGW-w64 when asking for 64 bit
+ ifeq ($(ARCH),x64)
+  GCC_PREFIX=x86_64-w64-mingw32-
+ endif
+endif
+
+# PREFIXES AND EXTENSIONS
+EC := .ec
+S := .sym
+I := .imp
+B := .bowl
+C := .c
+ifndef O
+O := .o
+endif
+A := .a
+E := $(if $(WINDOWS_TARGET),.exe,)
+SO := $(if $(WINDOWS_TARGET),.dll,$(if $(OSX_TARGET),.dylib,.so))
+LP := $(if $(WINDOWS_TARGET),$(if $(STATIC_LIBRARY_TARGET),lib,),lib)
+HOST_E := $(if $(WINDOWS_HOST),.exe,)
+HOST_SO := $(if $(WINDOWS_HOST),.dll,$(if $(OSX_HOST),.dylib,.so))
+HOST_LP := $(if $(WINDOWS_HOST),$(if $(STATIC_LIBRARY_TARGET),lib,),lib)
+.SUFFIXES: .c .ec .sym .imp .bowl $(O) $(A)
 
 # TOOLCHAIN
-export CC      = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)
-export CPP     = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)cpp$(_SYSROOT)
+ifdef TRAVIS
+export CPP     = $(CC)
+else
+export CC      = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)$(if $(GCC_CC_FLAGS),$(space)$(GCC_CC_FLAGS),)
+export CPP     = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)
+endif
 export AS      = $(GCC_PREFIX)as
 export LD      = $(GCC_PREFIX)ld
 export AR      = $(GCC_PREFIX)ar
 export STRIP   = $(GCC_PREFIX)strip
-export ECP := $(call psep,$(EC_BINS)ecp$(HOST_E))
-export ECC := $(call psep,$(EC_BINS)ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-export ECS := $(call psep,$(EC_BINS)ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-export EAR := $(call psep,$(_CF_DIR)obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
+export ECP := $(call sys_path,$(EC_BINS)ecp$(HOST_E))$(if $(GCC_FLAGS),$(space)$(GCC_FLAGS),)
+export ECC := $(call sys_path,$(EC_BINS)ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)$(if $(GCC_FLAGS),$(space)$(GCC_FLAGS),)
+export ECS := $(call sys_path,$(EC_BINS)ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)$(if $(OUTPUT_POT), -outputpot,)$(if $(DISABLED_POOLING), -disabled-pooling,)
+export EAR := $(call sys_path,$(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/ear$(HOST_E))
+ifdef WINDOWS_TARGET
+WINDRES := $(GCC_PREFIX)windres
+ ifdef ARCH
+  ifeq ($(ARCH),x32)
+WINDRES_FLAGS := -F pe-i386
+  else
+   ifeq ($(ARCH),x64)
+WINDRES_FLAGS := -F pe-x86-64
+   endif
+  endif
+ endif
+endif
 UPX := upx
 
-ifndef WINDOWS_HOST
-export LD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)/lib/
+ifndef ARCH
+TARGET_ARCH :=$(shell $(CC) -dumpmachine)
+ ifdef WINDOWS_TARGET
+  ifneq ($(filter x86_64%,$(TARGET_ARCH)),)
+     TARGET_ARCH := x86_64
+  else
+     TARGET_ARCH := i386
+  endif
+ else
+  ifdef LINUX_TARGET
+   ifneq ($(filter x86_64-pc-linux-gnu,$(TARGET_ARCH)),)    # Fix for PREFIXLIBDIR / DEB_HOST_MULTIARCH with Clang on Debian
+      TARGET_ARCH := x86_64-linux-gnu
+   endif
+   ifneq ($(filter i586-linux-gnu,$(TARGET_ARCH)),)
+      TARGET_ARCH := i386-linux-gnu
+   endif
+  endif
+ endif
 endif
 
-ifeq "$(HOST_ARCH)" "ARM"
-FORCE_64_BIT =
-FORCE_32_BIT =
-else
-FORCE_64_BIT = -m64
-FORCE_32_BIT = -m32
+ifndef WINDOWS_HOST
+export LD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
+export DYLD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
 endif
 
 # HARD CODED PLATFORM-SPECIFIC OPTIONS
 LDFLAGS +=$(if $(LINUX_TARGET), -Wl$(comma)--no-undefined,)
-LDFLAGS +=$(if $(OSX_TARGET), -framework cocoa -framework OpenGL,)
+LDFLAGS +=$(if $(OSX_TARGET), -framework cocoa -framework OpenGL -L/usr/local/opt/openssl/lib,)
 
 ifdef BSD_TARGET
 EXCLUDED_LIBS += $(space)dl
-CFLAGS += -isystem /usr/local/include
+CFLAGS += -isystem /usr/local/include -isystem /usr/local/include/freetype2
 LDFLAGS += -L/usr/local/lib
 endif
 
+ifdef OSX_TARGET
+CFLAGS += -I$(SYSROOT)/usr/include/ffi -I$(SYSROOT)/usr/local/opt/openssl/include
+else
+# OFLAGS += -L/usr/lib/$(TARGET_ARCH)/ec
+endif
+
 OFLAGS += $(LDFLAGS)
 
 # FLAGS
 
 UPXFLAGS = -9 -q
 
+ifdef ARCH_FLAGS
+CFLAGS += $(ARCH_FLAGS)
+OFLAGS += $(ARCH_FLAGS)
+endif
+
 CFLAGS += -fmessage-length=0
 
-EARFLAGS = awq
+EARFLAGS = q
+
+ifdef DISABLE_GL
+CFLAGS += -DECERE_NOGL
+endif
+
+ifndef ENABLE_SSL
+CFLAGS += -DECERE_NOSSL
+endif