ecere/gui/Window: Prevent uninitialized values if base Window methods not overridden...
[sdk] / default.cf
1 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/)
2
3 ifdef WINDOWS_HOST
4  # Auto-Select MinGW-w64 when asking for 64 bit
5  ifeq ($(ARCH),x64)
6   GCC_PREFIX=x86_64-w64-mingw32-
7  endif
8 endif
9
10 # PREFIXES AND EXTENSIONS
11 EC := .ec
12 S := .sym
13 I := .imp
14 B := .bowl
15 C := .c
16 ifndef O
17 O := .o
18 endif
19 A := .a
20 E := $(if $(WINDOWS_TARGET),.exe,)
21 SO := $(if $(WINDOWS_TARGET),.dll,$(if $(OSX_TARGET),.dylib,.so))
22 LP := $(if $(WINDOWS_TARGET),$(if $(STATIC_LIBRARY_TARGET),lib,),lib)
23 HOST_E := $(if $(WINDOWS_HOST),.exe,)
24 HOST_SO := $(if $(WINDOWS_HOST),.dll,$(if $(OSX_HOST),.dylib,.so))
25 HOST_LP := $(if $(WINDOWS_HOST),$(if $(STATIC_LIBRARY_TARGET),lib,),lib)
26 .SUFFIXES: .c .ec .sym .imp .bowl $(O) $(A)
27
28 # TOOLCHAIN
29 ifdef TRAVIS
30 export CPP     = $(CC)
31 else
32 export CC      = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)$(if $(GCC_CC_FLAGS),$(space)$(GCC_CC_FLAGS),)
33 export CPP     = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)
34 endif
35 export AS      = $(GCC_PREFIX)as
36 export LD      = $(GCC_PREFIX)ld
37 export AR      = $(GCC_PREFIX)ar
38 export STRIP   = $(GCC_PREFIX)strip
39 export ECP := $(call sys_path,$(EC_BINS)ecp$(HOST_E))$(if $(GCC_FLAGS),$(space)$(GCC_FLAGS),)
40 export ECC := $(call sys_path,$(EC_BINS)ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)$(if $(GCC_FLAGS),$(space)$(GCC_FLAGS),)
41 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,)
42 export EAR := $(call sys_path,$(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/ear$(HOST_E))
43 ifdef WINDOWS_TARGET
44 WINDRES := $(GCC_PREFIX)windres
45  ifdef ARCH
46   ifeq ($(ARCH),x32)
47 WINDRES_FLAGS := -F pe-i386
48   else
49    ifeq ($(ARCH),x64)
50 WINDRES_FLAGS := -F pe-x86-64
51    endif
52   endif
53  endif
54 endif
55 UPX := upx
56
57 ifndef ARCH
58 TARGET_ARCH :=$(shell $(CC) -dumpmachine)
59  ifdef WINDOWS_TARGET
60   ifneq ($(filter x86_64%,$(TARGET_ARCH)),)
61      TARGET_ARCH := x86_64
62   else
63      TARGET_ARCH := i386
64   endif
65  else
66   ifdef LINUX_TARGET
67    ifneq ($(filter x86_64-pc-linux-gnu,$(TARGET_ARCH)),)    # Fix for PREFIXLIBDIR / DEB_HOST_MULTIARCH with Clang on Debian
68       TARGET_ARCH := x86_64-linux-gnu
69    endif
70    ifneq ($(filter i586-linux-gnu,$(TARGET_ARCH)),)
71       TARGET_ARCH := i386-linux-gnu
72    endif
73   endif
74  endif
75 endif
76
77 ifndef WINDOWS_HOST
78 export LD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
79 export DYLD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
80 endif
81
82 # HARD CODED PLATFORM-SPECIFIC OPTIONS
83 LDFLAGS +=$(if $(LINUX_TARGET), -Wl$(comma)--no-undefined,)
84 LDFLAGS +=$(if $(OSX_TARGET), -framework cocoa -framework OpenGL -L/usr/local/opt/openssl/lib,)
85
86 ifdef BSD_TARGET
87 EXCLUDED_LIBS += $(space)dl
88 CFLAGS += -isystem /usr/local/include -isystem /usr/local/include/freetype2
89 LDFLAGS += -L/usr/local/lib
90 endif
91
92 ifdef OSX_TARGET
93 CFLAGS += -I$(SYSROOT)/usr/include/ffi -I$(SYSROOT)/usr/local/opt/openssl/include
94 else
95 # OFLAGS += -L/usr/lib/$(TARGET_ARCH)/ec
96 endif
97
98 OFLAGS += $(LDFLAGS)
99
100 # FLAGS
101
102 UPXFLAGS = -9 -q
103
104 ifdef ARCH_FLAGS
105 CFLAGS += $(ARCH_FLAGS)
106 OFLAGS += $(ARCH_FLAGS)
107 endif
108
109 CFLAGS += -fmessage-length=0
110
111 EARFLAGS = q
112
113 ifdef DISABLE_GL
114 CFLAGS += -DECERE_NOGL
115 endif
116
117 ifndef ENABLE_SSL
118 CFLAGS += -DECERE_NOSSL
119 endif