]> git.proxmox.com Git - rustc.git/blame - src/compiler-rt/lib/tsan/rtl/Makefile.old
Imported Upstream version 1.6.0+dfsg1
[rustc.git] / src / compiler-rt / lib / tsan / rtl / Makefile.old
CommitLineData
92a42be0 1CXXFLAGS = -std=c++11 -fPIE -g -Wall -Werror -fno-builtin -msse3 -DSANITIZER_DEBUG=$(DEBUG) -DTSAN_CONTAINS_UBSAN=0
1a4d82fc
JJ
2CLANG=clang
3ifeq ($(DEBUG), 0)
4 CXXFLAGS += -O3
5endif
6
7# For interception. FIXME: move interception one level higher.
8INTERCEPTION=../../interception
9COMMON=../../sanitizer_common
10INCLUDES= -I../.. -I../../../include
11EXTRA_CXXFLAGS=-fno-exceptions -fno-rtti
12NO_SYSROOT=--sysroot=.
13CXXFLAGS+=$(EXTRA_CXXFLAGS)
14CXXFLAGS+=$(CFLAGS)
15ifeq ($(DEBUG), 0)
16 CXXFLAGS+=-fomit-frame-pointer
17ifeq ($(CXX), g++)
92a42be0 18 CXXFLAGS+=-Wno-maybe-uninitialized
1a4d82fc
JJ
19 CXXFLAGS+=-Wframe-larger-than=512
20endif # CXX=g++
21endif # DEBUG=0
22
23ifeq ($(CXX), $(CLANG)++)
24 # Global constructors are banned.
25 CXXFLAGS+=-Wglobal-constructors
26endif
27
28
29
30all: libtsan.a
31
32LIBTSAN_HEADERS=$(wildcard *.h) \
33 $(wildcard $(INTERCEPTION)/*.h) \
34 $(wildcard $(COMMON)/*.h)
35LIBTSAN_SRC=$(wildcard *.cc)
36LIBTSAN_ASM_SRC=$(wildcard *.S)
37INTERCEPTION_SRC=$(wildcard $(INTERCEPTION)/*.cc)
92a42be0 38COMMON_SRC=$(filter-out $(wildcard $(COMMON)/*_nolibc.cc),$(wildcard $(COMMON)/*.cc))
1a4d82fc
JJ
39
40LIBTSAN_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
56libtsan.a: $(LIBTSAN_OBJ)
57 ar ru $@ $(LIBTSAN_OBJ)
58
59libtsan_dummy.a: tsan_dummy_rtl.o
60 ar ru $@ $<
61
62clean:
63 rm -f *.o *.a