DEBUG=0
LDFLAGS=-ldl -lpthread -pie
CXXFLAGS = -fPIE -g -Wall -Werror -DTSAN_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
endif

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

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

INCLUDES=-Irtl -I.. $(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 "  make lint          # Run the style checker"
	@ echo
	@ echo "For more info, see http://code.google.com/p/data-race-test/wiki/ThreadSanitizer2"

$(LIBTSAN): libtsan

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

%.o: %.cc $(UNIT_TEST_HDR)
	$(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)
	./output_tests/test_output.sh

presubmit:
	$(MAKE) -f Makefile.old lint -j 4
	# 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
	@ echo PRESUBMIT PASSED

RTL_LINT_FITLER=-legal/copyright,-build/include,-readability/casting,-build/header_guard,-build/namespaces

lint: lint_tsan lint_tests
lint_tsan:
	third_party/cpplint/cpplint.py --filter=$(RTL_LINT_FITLER) rtl/*.{cc,h} \
        ../sanitizer_common/*.{cc,h}
lint_tests:
	third_party/cpplint/cpplint.py --filter=$(RTL_LINT_FITLER) \
        rtl_tests/*.{cc,h} unit_tests/*.cc ../sanitizer_common/tests/*.cc

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

# Remove verbose printf from lint. Not strictly necessary.
hack_cpplint:
	sed -i "s/  sys.stderr.write('Done processing.*//g" third_party/cpplint/cpplint.py

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

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