X-Git-Url: http://ecere.com/cgi-bin/gitweb.cgi?p=sdk;a=blobdiff_plain;f=default.cf;h=fc8cba40021aa7784210a72a9edad86bc827e20d;hp=ce69bf4d3c29bb7821c4fad0ab47e6f538e964a2;hb=HEAD;hpb=7fc63d69527f0ea789a1aa81f1bc0409a5239911 diff --git a/default.cf b/default.cf index ce69bf4..fc8cba4 100644 --- a/default.cf +++ b/default.cf @@ -2,22 +2,56 @@ EC_BINS := $(_CF_DIR)$(if $(USE_BOOTSTRAP),compiler/bootstrap/obj/bin.$(HOST_PLA ifdef WINDOWS_HOST # Auto-Select MinGW-w64 when asking for 64 bit - ifeq "$(ARCH)" "x64" + 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) +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)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/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 ARCH @@ -28,6 +62,15 @@ TARGET_ARCH :=$(shell $(CC) -dumpmachine) 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 @@ -38,7 +81,7 @@ 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 @@ -47,7 +90,7 @@ LDFLAGS += -L/usr/local/lib endif ifdef OSX_TARGET -CFLAGS += -I$(SYSROOT)/usr/include/ffi +CFLAGS += -I$(SYSROOT)/usr/include/ffi -I$(SYSROOT)/usr/local/opt/openssl/include else # OFLAGS += -L/usr/lib/$(TARGET_ARCH)/ec endif @@ -66,3 +109,11 @@ endif CFLAGS += -fmessage-length=0 EARFLAGS = q + +ifdef DISABLE_GL +CFLAGS += -DECERE_NOGL +endif + +ifndef ENABLE_SSL +CFLAGS += -DECERE_NOSSL +endif