]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/tsan/rtl/Makefile.old
Import compiler-rt 3.7.0 release (r246257).
[FreeBSD/FreeBSD.git] / lib / tsan / rtl / Makefile.old
1 CXXFLAGS = -std=c++11 -fPIE -g -Wall -Werror -fno-builtin -msse3 -DSANITIZER_DEBUG=$(DEBUG) -DTSAN_CONTAINS_UBSAN=0
2 CLANG=clang
3 ifeq ($(DEBUG), 0)
4   CXXFLAGS += -O3
5 endif
6
7 # For interception. FIXME: move interception one level higher.
8 INTERCEPTION=../../interception
9 COMMON=../../sanitizer_common
10 INCLUDES= -I../.. -I../../../include
11 EXTRA_CXXFLAGS=-fno-exceptions -fno-rtti
12 NO_SYSROOT=--sysroot=.
13 CXXFLAGS+=$(EXTRA_CXXFLAGS)
14 CXXFLAGS+=$(CFLAGS)
15 ifeq ($(DEBUG), 0)
16   CXXFLAGS+=-fomit-frame-pointer
17 ifeq ($(CXX), g++)
18   CXXFLAGS+=-Wno-maybe-uninitialized
19   CXXFLAGS+=-Wframe-larger-than=512
20 endif  # CXX=g++
21 endif  # DEBUG=0
22
23 ifeq ($(CXX), $(CLANG)++)
24   # Global constructors are banned.
25   CXXFLAGS+=-Wglobal-constructors
26 endif
27
28
29
30 all: libtsan.a
31
32 LIBTSAN_HEADERS=$(wildcard *.h) \
33                 $(wildcard $(INTERCEPTION)/*.h) \
34                 $(wildcard $(COMMON)/*.h)
35 LIBTSAN_SRC=$(wildcard *.cc)
36 LIBTSAN_ASM_SRC=$(wildcard *.S)
37 INTERCEPTION_SRC=$(wildcard $(INTERCEPTION)/*.cc)
38 COMMON_SRC=$(wildcard $(COMMON)/*.cc)
39
40 LIBTSAN_OBJ=$(patsubst %.cc,%.o,$(LIBTSAN_SRC)) \
41             $(patsubst %.S,%.o,$(LIBTSAN_ASM_SRC)) \
42             $(patsubst $(INTERCEPTION)/%.cc,%.o,$(INTERCEPTION_SRC)) \
43             $(patsubst $(COMMON)/%.cc,%.o,$(COMMON_SRC))
44
45 %_linux.o: %_linux.cc Makefile.old $(LIBTSAN_HEADERS)
46         $(CXX) $(CXXFLAGS) $(INCLUDES) -c $<
47 %.o: %.cc Makefile.old $(LIBTSAN_HEADERS)
48         $(CXX) $(CXXFLAGS) $(INCLUDES) $(NO_SYSROOT) -c $<
49 %.o: $(INTERCEPTION)/%.cc Makefile.old $(LIBTSAN_HEADERS)
50         $(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
51 %.o: $(COMMON)/%.cc Makefile.old $(LIBTSAN_HEADERS)
52         $(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
53 %.o: %.S
54         $(CXX) $(INCLUDES) -o $@ -c $<
55
56 libtsan.a: $(LIBTSAN_OBJ)
57         ar ru $@ $(LIBTSAN_OBJ)
58
59 libtsan_dummy.a: tsan_dummy_rtl.o
60         ar ru $@ $<
61
62 clean:
63         rm -f *.o *.a