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/)
4 # Auto-Select MinGW-w64 when asking for 64 bit
6 GCC_PREFIX=x86_64-w64-mingw32-
10 # PREFIXES AND EXTENSIONS
18 SO := $(if $(WINDOWS_TARGET),.dll,$(if $(OSX_TARGET),.dylib,.so))
19 E := $(if $(WINDOWS_TARGET),.exe,)
20 OUT := $(if $(STATIC_LIBRARY_TARGET),$(A),$(if $(SHARED_LIBRARY_TARGET),$(SO)$(VER),$(if $(EXECUTABLE_TARGET),$(E),.x)))
21 LP := $(if $(WINDOWS_TARGET),$(if $(STATIC_LIBRARY_TARGET),lib,),lib)
22 HOST_E := $(if $(WINDOWS_HOST),.exe,)
23 HOST_SO := $(if $(WINDOWS_HOST),.dll,$(if $(OSX_HOST),.dylib,.so))
24 HOST_LP := $(if $(WINDOWS_HOST),$(if $(STATIC_LIBRARY_TARGET),lib,),lib)
25 .SUFFIXES: .c .ec .sym .imp .bowl $(O) $(A)
28 export CC = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)$(if $(GCC_CC_FLAGS),$(space)$(GCC_CC_FLAGS),)
29 export CPP = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)
30 export AS = $(GCC_PREFIX)as
31 export LD = $(GCC_PREFIX)ld
32 export AR = $(GCC_PREFIX)ar
33 export STRIP = $(GCC_PREFIX)strip
34 export ECP := $(call sys_path,$(EC_BINS)ecp$(HOST_E))$(if $(GCC_FLAGS),$(space)$(GCC_FLAGS),)
35 export ECC := $(call sys_path,$(EC_BINS)ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)$(if $(GCC_FLAGS),$(space)$(GCC_FLAGS),)
36 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,)
37 export EAR := $(call sys_path,$(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/ear$(HOST_E))
39 WINDRES := $(GCC_PREFIX)windres
42 WINDRES_FLAGS := -F pe-i386
45 WINDRES_FLAGS := -F pe-x86-64
53 TARGET_ARCH :=$(shell $(CC) -dumpmachine)
55 ifneq ($(filter x86_64%,$(TARGET_ARCH)),)
62 ifneq ($(filter x86_64-pc-linux-gnu,$(TARGET_ARCH)),) # Fix for PREFIXLIBDIR / DEB_HOST_MULTIARCH with Clang on Debian
63 TARGET_ARCH := x86_64-linux-gnu
65 ifneq ($(filter i586-linux-gnu,$(TARGET_ARCH)),)
66 TARGET_ARCH := i386-linux-gnu
73 export LD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
74 export DYLD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
77 # HARD CODED PLATFORM-SPECIFIC OPTIONS
78 LDFLAGS +=$(if $(LINUX_TARGET), -Wl$(comma)--no-undefined,)
79 LDFLAGS +=$(if $(OSX_TARGET), -framework cocoa -framework OpenGL,)
82 EXCLUDED_LIBS += $(space)dl
83 CFLAGS += -isystem /usr/local/include -isystem /usr/local/include/freetype2
84 LDFLAGS += -L/usr/local/lib
88 CFLAGS += -I$(SYSROOT)/usr/include/ffi
90 # OFLAGS += -L/usr/lib/$(TARGET_ARCH)/ec
100 CFLAGS += $(ARCH_FLAGS)
101 OFLAGS += $(ARCH_FLAGS)
104 CFLAGS += -fmessage-length=0
109 CFLAGS += -DECERE_NOGL
113 CFLAGS += -DECERE_NOSSL