1 # HOST PLATFORM DETECTION
2 ifeq "$(OS)" "Windows_NT"
5 ifeq "$(OSTYPE)" "FreeBSD"
8 ifeq "$(shell uname)" "Darwin"
31 DEBUG_SUFFIX := .debug
36 space := $(empty) $(empty)
37 escspace = $(subst $(space),\$(space),$(subst \$(space),$(space),$1))
38 hidspace = $(subst $(space),
\7f,$(subst \$(space),
\7f,$1))
39 shwspace = $(subst
\7f,\$(space),$1)
41 # PATH SEPARATOR STRING TOOLS
44 WIN_PS_TOOLS := defined
48 fixps = $(subst \,/,$(1))
49 psep = $(subst \\,/,$(subst /,\,$(1)))
57 # PREFIXES AND EXTENSIONS
58 .SUFFIXES: .ec .pec .sym .imp .c .o .a
66 ifeq "$(PLATFORM)" "win32"
68 ifeq "$(TARGET_TYPE)" "staticlib"
75 ifeq "$(PLATFORM)" "apple"
88 CCACHE_COMPILE := ccache
90 DISTCC_COMPILE := distcc
94 DISTCC_COMPILE := distcc
101 WIN_SHELL_COMMANDS := defined
104 ifdef WIN_SHELL_COMMANDS
105 echo = $(if $(1),echo $(1))
106 cpq = $(if $(1),@cmd /c for %%I in ($(call psep,$(1))) do @copy /y %%I $(call psep,$(2)) > nul 2>&1)
107 rmq = $(if $(1),-@del /f /q $(call psep,$(1)) > nul 2>&1)
108 rmrq = $(if $(1),-@rmdir /q /s $(call psep,$(1)) > nul 2>&1)
109 mkdirq = $(if $(1),-@mkdir $(call psep,$(1)) > nul 2>&1)
110 rmdirq = $(if $(1),-@rmdir /q $(call psep,$(1)) > nul 2>&1)
112 echo = $(if $(1),echo "$(1)")
113 cpq = $(if $(1),@cp $(1) $(2))
114 rmq = $(if $(1),-@rm -f $(1))
115 rmrq = $(if $(1),-@rm -f -r $(1))
116 mkdirq = $(if $(1),-@mkdir -p $(1))
117 rmdirq = $(if $(1),-@rmdir $(1))
121 ifeq "$(TARGET_TYPE)" "sharedlib"
122 ECSLIBOPT := -dynamiclib
124 ifeq "$(TARGET_TYPE)" "staticlib"
125 ECSLIBOPT := -staticlib
133 ifeq "$(TARGET_TYPE)" "executable"
134 EXECUTABLE = $(CONSOLE)
139 FVISIBILITY := -fvisibility=hidden
144 ifeq "$(TARGET_TYPE)" "sharedlib"
145 INSTALLNAME := -install_name $(LP)$(MODULE)$(SO)
155 ifeq "$(TARGET_TYPE)" "sharedlib"
156 SHAREDLIB := -dynamiclib -single_module -multiply_defined suppress
162 ifeq "$(TARGET_TYPE)" "sharedlib"
168 ifeq "$(TARGET_TYPE)" "sharedlib"
177 SODESTDIR := obj/$(PLATFORM)/bin/
179 SODESTDIR := obj/$(PLATFORM)/lib/
182 # COMMON LIBRARIES DETECTION
187 _OPENSSL_CONF = $(call hidspace,$(call fixps,$(OPENSSL_CONF)))
188 OPENSSL_INCLUDE_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/include,$(_OPENSSL_CONF)))
189 OPENSSL_LIB_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/lib,$(_OPENSSL_CONF)))
190 OPENSSL_BIN_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/bin,$(_OPENSSL_CONF)))