Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Side by Side Diff: Makefile.standalone

Issue 659513005: Allow conditional lit tests in Subzero, based on build flags. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pydir/ifatts.py » ('j') | src/llvm2ice.cpp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # The following variables will likely need to be modified, depending on where 1 # The following variables will likely need to be modified, depending on where
2 # and how you built LLVM & Clang. They can be overridden in a command-line 2 # and how you built LLVM & Clang. They can be overridden in a command-line
3 # invocation of make, like: 3 # invocation of make, like:
4 # 4 #
5 # make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> \ 5 # make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> \
6 # LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> ... 6 # LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> ...
7 # 7 #
8 8
9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This 9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This
10 # directory should contain the configure script, the include/ and lib/ 10 # directory should contain the configure script, the include/ and lib/
(...skipping 19 matching lines...) Expand all
30 30
31 HOST_ARCH ?= x86_64 31 HOST_ARCH ?= x86_64
32 ifeq ($(HOST_ARCH),x86_64) 32 ifeq ($(HOST_ARCH),x86_64)
33 HOST_FLAGS = -m64 -stdlib=libc++ 33 HOST_FLAGS = -m64 -stdlib=libc++
34 else 34 else
35 ifeq ($(HOST_ARCH),x86) 35 ifeq ($(HOST_ARCH),x86)
36 HOST_FLAGS = -m32 -stdlib=libc++ 36 HOST_FLAGS = -m32 -stdlib=libc++
37 endif 37 endif
38 endif 38 endif
39 39
40 # The list of CXX defines that are dependent on build parameters.
41 CXX_DEFINES =
42
43 # The list of attributes associated with the built executable.
44 BUILD_ATTS = x86-32 p2i
45
40 ifdef DEBUG 46 ifdef DEBUG
41 OBJDIR = build/Debug 47 OBJDIR = build/Debug
42 OPTLEVEL = -O0 48 OPTLEVEL = -O0
49 BUILD_ATTS += debug
43 else 50 else
44 OBJDIR = build/Release 51 OBJDIR = build/Release
45 OPTLEVEL = -O2 52 OPTLEVEL = -O2
53 BUILD_ATTS += release
54 endif
55
56 ifdef MINIMAL
57 CXX_DEFINES += -DNO_TEXT_ASM -DNO_DUMP -DNO_LLVM_CL -DNO_LLVM_IR \
58 -DNO_LLVM_IR_AS_INPUT
Karl 2014/10/21 21:14:18 Decided to always define the macros, and set to 0/
59 OBJDIR := $(OBJDIR)+Min
60 BUILD_ATTS += no_text_asm no_dump no_llvm_cl no_llvm_ir no_llvm_ir_as_input
61 else
62 CXX_DEFINES += -DALLOW_TEXT_ASM -DALLOW_DUMP -DALLOW_LLVM_CL \
63 -DALLOW_LLVM_IR -DALLOW_LLVM_IR_AS_INPUT
64 BUILD_ATTS += allow_text_asm allow_dump allow_llvm_cl allow_llvm_ir \
65 allow_llvm_ir_as_input
46 endif 66 endif
47 67
48 ifdef NOASSERT 68 ifdef NOASSERT
49 ASSERTIONS = -DNDEBUG 69 ASSERTIONS = -DNDEBUG
70 BUILD_ATTS += noasserts
50 else 71 else
51 ASSERTIONS = 72 ASSERTIONS =
52 OBJDIR := $(OBJDIR)+Asserts 73 OBJDIR := $(OBJDIR)+Asserts
74 BUILD_ATTS += asserts
53 endif 75 endif
54 76
55 $(info -----------------------------------------------) 77 $(info -----------------------------------------------)
56 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) 78 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH))
57 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH)) 79 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH))
58 $(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH)) 80 $(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH))
59 $(info Using CLANG_PATH = $(CLANG_PATH)) 81 $(info Using CLANG_PATH = $(CLANG_PATH))
60 $(info Using HOST_ARCH = $(HOST_ARCH)) 82 $(info Using HOST_ARCH = $(HOST_ARCH))
61 $(info -----------------------------------------------) 83 $(info -----------------------------------------------)
62 84
63 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags` 85 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags`
64 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --libs` \ 86 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --libs` \
65 `$(LLVM_BIN_PATH)/llvm-config --ldflags` 87 `$(LLVM_BIN_PATH)/llvm-config --ldflags`
66 88
67 # It's recommended that CXX matches the compiler you used to build LLVM itself. 89 # It's recommended that CXX matches the compiler you used to build LLVM itself.
68 CCACHE := `command -v ccache` 90 CCACHE := `command -v ccache`
69 CXX := CCACHE_CPP2=yes $(CCACHE) $(CLANG_PATH)/clang++ 91 CXX := CCACHE_CPP2=yes $(CCACHE) $(CLANG_PATH)/clang++
70 92
71 CXXFLAGS := $(LLVM_CXXFLAGS) -std=c++11 -Wall -Wextra -Werror -fno-rtti \ 93 CXXFLAGS := $(LLVM_CXXFLAGS) -std=c++11 -Wall -Wextra -Werror -fno-rtti \
72 » -fno-exceptions $(OPTLEVEL) $(ASSERTIONS) -g $(HOST_FLAGS) \ 94 » -fno-exceptions $(OPTLEVEL) $(ASSERTIONS) $(CXX_DEFINES) -g \
73 » -Wno-error=unused-parameter -I$(LIBCXX_INSTALL_PATH)/include/c++/v1 95 » $(HOST_FLAGS) -Wno-error=unused-parameter \
96 » -I$(LIBCXX_INSTALL_PATH)/include/c++/v1
74 LDFLAGS := $(HOST_FLAGS) -L$(LIBCXX_INSTALL_PATH)/lib 97 LDFLAGS := $(HOST_FLAGS) -L$(LIBCXX_INSTALL_PATH)/lib
75 98
76 SRCS= \ 99 SRCS= \
77 assembler.cpp \ 100 assembler.cpp \
78 assembler_ia32.cpp \ 101 assembler_ia32.cpp \
79 IceCfg.cpp \ 102 IceCfg.cpp \
80 IceCfgNode.cpp \ 103 IceCfgNode.cpp \
81 IceConverter.cpp \ 104 IceConverter.cpp \
82 IceGlobalContext.cpp \ 105 IceGlobalContext.cpp \
83 IceGlobalInits.cpp \ 106 IceGlobalInits.cpp \
(...skipping 12 matching lines...) Expand all
96 IceTypeConverter.cpp \ 119 IceTypeConverter.cpp \
97 IceTypes.cpp \ 120 IceTypes.cpp \
98 llvm2ice.cpp \ 121 llvm2ice.cpp \
99 PNaClTranslator.cpp 122 PNaClTranslator.cpp
100 123
101 OBJS=$(patsubst %.cpp, $(OBJDIR)/%.o, $(SRCS)) 124 OBJS=$(patsubst %.cpp, $(OBJDIR)/%.o, $(SRCS))
102 125
103 # Keep all the first target so it's the default. 126 # Keep all the first target so it's the default.
104 all: $(OBJDIR)/llvm2ice make_symlink 127 all: $(OBJDIR)/llvm2ice make_symlink
105 128
106 make_symlink: $(OBJDIR)/llvm2ice 129 make_symlink: $(OBJDIR)/llvm2ice $(OBJDIR)/llvm2ice.build_atts
107 » rm -f llvm2ice 130 » rm -rf llvm2ice llvm2ice.build_atts
108 ln -s $(OBJDIR)/llvm2ice 131 ln -s $(OBJDIR)/llvm2ice
132 ln -s $(OBJDIR)/llvm2ice.build_atts
109 133
110 .PHONY: all make_symlink 134 .PHONY: all make_symlink
111 135
112 $(OBJDIR)/llvm2ice: $(OBJS) 136 $(OBJDIR)/llvm2ice: $(OBJS)
113 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) -ldl \ 137 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) -ldl \
114 -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib) 138 -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib)
139 echo "$(BUILD_ATTS)" > $@.build_atts
115 140
116 # TODO: Be more precise than "*.h" here and elsewhere. 141 # TODO: Be more precise than "*.h" here and elsewhere.
117 $(OBJS): $(OBJDIR)/%.o: src/%.cpp src/*.h src/*.def 142 $(OBJS): $(OBJDIR)/%.o: src/%.cpp src/*.h src/*.def
118 $(CXX) -c $(CXXFLAGS) $< -o $@ 143 $(CXX) -c $(CXXFLAGS) $< -o $@
119 144
120 $(OBJS): | $(OBJDIR) 145 $(OBJS): | $(OBJDIR)
121 146
122 $(OBJDIR): 147 $(OBJDIR):
123 @mkdir -p $@ 148 @mkdir -p $@
124 149
(...skipping 17 matching lines...) Expand all
142 ifeq (,$(wildcard /usr/lib/clang-format/clang-format-diff.py)) 167 ifeq (,$(wildcard /usr/lib/clang-format/clang-format-diff.py))
143 CLANG_FORMAT_DIFF = clang-format-diff.py 168 CLANG_FORMAT_DIFF = clang-format-diff.py
144 else 169 else
145 CLANG_FORMAT_DIFF = /usr/lib/clang-format/clang-format-diff.py 170 CLANG_FORMAT_DIFF = /usr/lib/clang-format/clang-format-diff.py
146 endif 171 endif
147 format-diff: 172 format-diff:
148 git diff -U0 `git merge-base HEAD master` | \ 173 git diff -U0 `git merge-base HEAD master` | \
149 $(CLANG_FORMAT_DIFF) -p1 -style=LLVM -i 174 $(CLANG_FORMAT_DIFF) -p1 -style=LLVM -i
150 175
151 clean: 176 clean:
152 » rm -rf llvm2ice *.o build/ 177 » rm -rf llvm2ice llvm2ice.build_atts *.o $(OBJDIR)
178
179 clean-all: clean
180 » rm -rf build/
OLDNEW
« no previous file with comments | « no previous file | pydir/ifatts.py » ('j') | src/llvm2ice.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698