#PROFILE_LIBS = -pg
#PROFILE_LIBS = -pg -lc
+# Uncomment one of the next two lines to compile Vim with the
+# address sanitizer or with the undefined sanitizer. Works with gcc and
+# clang. May make Vim twice as slow. Errors reported on stderr.
+# More at: https://code.google.com/p/address-sanitizer/
+#SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
+#SANITIZER_CFLAGS = -g -O0 -fsanitize=undefined -fno-omit-frame-pointer
+SANITIZER_LIBS = $(SANITIZER_CFLAGS)
+
# MEMORY LEAK DETECTION
# Requires installing the ccmalloc library.
# Configuration is in the .ccmalloc or ~/.ccmalloc file.
PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(EXTRA_DEFS)
-ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(LEAK_CFLAGS) $(POST_DEFS)
+ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(SANITIZER_CFLAGS) $(LEAK_CFLAGS) $(POST_DEFS)
# Exclude $CFLAGS for osdef.sh, for Mac 10.4 some flags don't work together
# with "-E".
$(TCL_LIBS) \
$(RUBY_LIBS) \
$(PROFILE_LIBS) \
+ $(SANITIZER_LIBS) \
$(LEAK_LIBS)
# abbreviations
# Run individual test, assuming that Vim was already compiled.
test1 \
+ test_argument_0count \
test_argument_count \
test_autoformat_join \
test_breakindent \
test_changelist \
test_close_count \
test_command_count \
+ test_erasebackword \
test_eval \
test_insertcount \
+ test_listchars \
test_listlbr \
test_listlbr_utf8 \
test_mapping \
+ test_marks \
+ test_nested_function \
test_options \
+ test_perl \
test_qf_title \
+ test_ruby \
+ test_set \
test_signs \
+ test_textobjects \
test_utf8 \
test_writefile \
test2 test3 test4 test5 test6 test7 test8 test9 \