DEBUG=0
LDFLAGS=-ldl -lpthread -pie
CXXFLAGS = -fPIE -g -Wall -Werror -DTSAN_DEBUG=$(DEBUG) -DSANITIZER_DEBUG=$(DEBUG)
# Silence warnings that Clang produces for gtest code.
# Use -Wno-attributes so that gcc doesn't complain about unknown warning types.
CXXFLAGS += -Wno-attributes
ifeq ($(DEBUG), 0)
	CXXFLAGS += -O3
endif
ifeq ($(CXX), clang++)
  CXXFLAGS+= -Wno-unused-private-field -Wno-static-in-inline -Wgnu
endif

LIBTSAN=rtl/libtsan.a
GTEST_ROOT=third_party/googletest
GTEST_INCLUDE=-I$(GTEST_ROOT)/include
GTEST_BUILD_DIR=$(GTEST_ROOT)/build
GTEST_LIB_NAME=gtest-all.o
GTEST_LIB=$(GTEST_BUILD_DIR)/$(GTEST_LIB_NAME)

SANITIZER_COMMON_TESTS_SRC=$(wildcard ../sanitizer_common/tests/*_test.cc)
SANITIZER_COMMON_TESTS_OBJ=$(patsubst %.cc,%.o,$(SANITIZER_COMMON_TESTS_SRC))
RTL_TEST_SRC=$(wildcard tests/rtl/*.cc)
RTL_TEST_OBJ=$(patsubst %.cc,%.o,$(RTL_TEST_SRC))
UNIT_TEST_SRC=$(wildcard tests/unit/*_test.cc)
UNIT_TEST_OBJ=$(patsubst %.cc,%.o,$(UNIT_TEST_SRC))
UNIT_TEST_HDR=$(wildcard rtl/*.h) $(wildcard ../sanitizer_common/*.h)

INCLUDES=-Irtl -I.. -I../../include $(GTEST_INCLUDE)

all: libtsan test

help:
	@ echo "A little help is always welcome!"
	@ echo "The most useful targets are:"
	@ echo "  make install_deps  # Install third-party dependencies required for building"
	@ echo "  make presubmit     # Run it every time before committing"
	@ echo
	@ echo "For more info, see http://code.google.com/p/thread-sanitizer/wiki/Development"

$(LIBTSAN): libtsan

libtsan:
	$(MAKE) -C rtl -f Makefile.old DEBUG=$(DEBUG)

%.o: %.cc $(UNIT_TEST_HDR) $(LIBTSAN)
	$(CXX) $(CXXFLAGS) $(CFLAGS) $(INCLUDES) -o $@ -c $<

tsan_test: $(UNIT_TEST_OBJ) $(RTL_TEST_OBJ) \
           $(SANITIZER_COMMON_TESTS_OBJ) $(LIBTSAN) $(GTEST_LIB)
	$(CXX) $^ -o $@ $(LDFLAGS)

test: libtsan tsan_test

run: all
	(ulimit -s 8192; ./tsan_test)
	./lit_tests/test_output.sh

presubmit:
	../sanitizer_common/scripts/check_lint.sh
	# Debug build with clang.
	$(MAKE) -f Makefile.old clean
	$(MAKE) -f Makefile.old run DEBUG=1 -j 16 CC=clang CXX=clang++
	# Release build with clang.
	$(MAKE) -f Makefile.old clean
	$(MAKE) -f Makefile.old run DEBUG=0 -j 16 CC=clang CXX=clang++
	# Debug build with gcc
	$(MAKE) -f Makefile.old clean
	$(MAKE) -f Makefile.old run DEBUG=1 -j 16 CC=gcc CXX=g++
	# Release build with gcc
	$(MAKE) -f Makefile.old clean
	$(MAKE) -f Makefile.old run DEBUG=0 -j 16 CC=gcc CXX=g++
	./check_analyze.sh
	# Sanity check for Go runtime
	(cd go && ./buildgo.sh)
	# Check cmake build
	./check_cmake.sh
	@ echo PRESUBMIT PASSED

install_deps:
	rm -rf third_party
	mkdir third_party
	(cd third_party && \
	svn co -r613 http://googletest.googlecode.com/svn/trunk googletest \
        )

$(GTEST_LIB):
	mkdir -p $(GTEST_BUILD_DIR) && \
	cd $(GTEST_BUILD_DIR) && \
	$(MAKE) -f ../make/Makefile CXXFLAGS="$(CXXFLAGS)" CFLAGS="$(CFLAGS)" CC=$(CC) CXX=$(CXX) $(GTEST_LIB_NAME)

clean:
	rm -f asm_*.s libtsan.nm libtsan.objdump */*.o tsan_test
	rm -rf $(GTEST_BUILD_DIR)
	$(MAKE) clean -C rtl -f Makefile.old
	rm -f go/*.s
	rm -rf build
