summaryrefslogtreecommitdiff
path: root/makefiles/Makefile.clang
diff options
context:
space:
mode:
Diffstat (limited to 'makefiles/Makefile.clang')
-rw-r--r--makefiles/Makefile.clang20
1 files changed, 18 insertions, 2 deletions
diff --git a/makefiles/Makefile.clang b/makefiles/Makefile.clang
index 4006a92..bcd14e3 100644
--- a/makefiles/Makefile.clang
+++ b/makefiles/Makefile.clang
@@ -21,12 +21,28 @@ CXXSHR := -fPIC
LDDBG := -g
# Reevaluation is required here
-LDSHR = -shared -Wl,-soname,$(SONAME)
+ifeq ($(findstring darwin,$(HOST)),darwin)
+ LDSHR = -dynamiclib -install_name $(SONAME)
+else
+ LDSHR = -shared -Wl,-soname,$(SONAME)
+endif
+
ARFLG := cru
# Definitions of various attributes
-CFLAGS := $(CFLAGS) -D_ALIGNED="__attribute__((aligned))"
+CFLAGS := $(CFLAGS) -D_ALIGNED="__attribute__((aligned))" -DSTMTEXPR=1
+
+# Extensions for sanitize target
+ifeq ($(MAKECMDGOALS),sanitize)
+ SANCFLAGS ?= -fsanitize=address -fsanitize=undefined -fno-sanitize-recover
+ SANCXXFLAGS ?= -fsanitize=address -fsanitize=undefined -fno-sanitize-recover
+ SANLDFLAGS ?= -fsanitize=address -fsanitize=undefined -fno-sanitize-recover
+
+ CFLAGS := $(CFLAGS) $(SANCFLAGS)
+ CXXFLAGS := $(CXXFLAGS) $(SANCXXFLAGS)
+ LDFLAGS := $(LDFLAGS) $(SANLDFLAGS)
+endif
###############################################################################
# Mac OS X Universal Binaries