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

Side by Side Diff: Makefile.standalone

Issue 944333002: Subzero: Update tests and build scripts for sandboxing. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: More code review changes Created 5 years, 10 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/build-runtime.py » ('j') | no next file with comments »
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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 UNITTEST_SRCS = \ 140 UNITTEST_SRCS = \
141 BitcodeMunge.cpp \ 141 BitcodeMunge.cpp \
142 IceELFSectionTest.cpp \ 142 IceELFSectionTest.cpp \
143 IceParseInstsTest.cpp 143 IceParseInstsTest.cpp
144 144
145 UNITTEST_OBJS = $(patsubst %.cpp, $(OBJDIR)/unittest/%.o, $(UNITTEST_SRCS)) 145 UNITTEST_OBJS = $(patsubst %.cpp, $(OBJDIR)/unittest/%.o, $(UNITTEST_SRCS))
146 UNITTEST_LIB_OBJS = $(filter-out $(OBJDIR)/llvm2ice.o,$(OBJS)) 146 UNITTEST_LIB_OBJS = $(filter-out $(OBJDIR)/llvm2ice.o,$(OBJS))
147 147
148 # Keep all the first target so it's the default. 148 # Keep all the first target so it's the default.
149 all: $(OBJDIR)/llvm2ice make_symlink 149 all: $(OBJDIR)/llvm2ice make_symlink runtime
150 150
151 # Creates symbolic link so that testing is easier. Also runs 151 # Creates symbolic link so that testing is easier. Also runs
152 # llvm2ice to verify that the defines flags have valid values, 152 # llvm2ice to verify that the defines flags have valid values,
153 # as well as describe the corresponding build attributes. 153 # as well as describe the corresponding build attributes.
154 make_symlink: $(OBJDIR)/llvm2ice 154 make_symlink: $(OBJDIR)/llvm2ice
155 rm -rf llvm2ice 155 rm -rf llvm2ice
156 ln -s $(OBJDIR)/llvm2ice 156 ln -s $(OBJDIR)/llvm2ice
157 @echo "Build Attributes:" 157 @echo "Build Attributes:"
158 @$(OBJDIR)/llvm2ice --build-atts 158 @$(OBJDIR)/llvm2ice --build-atts
159 159
160 .PHONY: all make_symlink bloat 160 .PHONY: all make_symlink runtime bloat
161 161
162 # TODO(kschimpf): Fix python scripts to directly get build attributes
163 # rather than generating $(OBJDIR)/llvm2ice.build_atts.
164 $(OBJDIR)/llvm2ice: $(OBJS) 162 $(OBJDIR)/llvm2ice: $(OBJS)
165 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) \ 163 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) \
166 -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib) 164 -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib)
167 165
168 # TODO(stichnot): Be more precise than "*.h" here and elsewhere. 166 # TODO(stichnot): Be more precise than "*.h" here and elsewhere.
169 $(OBJS): $(OBJDIR)/%.o: src/%.cpp src/*.h src/*.def 167 $(OBJS): $(OBJDIR)/%.o: src/%.cpp src/*.h src/*.def
170 $(CXX) -c $(CXXFLAGS) $< -o $@ 168 $(CXX) -c $(CXXFLAGS) $< -o $@
171 169
172 $(OBJDIR)/run_unittests: $(UNITTEST_OBJS) $(UNITTEST_LIB_OBJS) 170 $(OBJDIR)/run_unittests: $(UNITTEST_OBJS) $(UNITTEST_LIB_OBJS)
173 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) -lgtest -lgtest_main -ldl \ 171 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) -lgtest -lgtest_main -ldl \
(...skipping 10 matching lines...) Expand all
184 $(OBJS): | $(OBJDIR) 182 $(OBJS): | $(OBJDIR)
185 183
186 $(UNITTEST_OBJS): | $(OBJDIR)/unittest 184 $(UNITTEST_OBJS): | $(OBJDIR)/unittest
187 185
188 $(OBJDIR): 186 $(OBJDIR):
189 @mkdir -p $@ 187 @mkdir -p $@
190 188
191 $(OBJDIR)/unittest: $(OBJDIR) 189 $(OBJDIR)/unittest: $(OBJDIR)
192 @mkdir -p $@ 190 @mkdir -p $@
193 191
192 RT_SRC := runtime/szrt.c runtime/szrt_ll.ll
193 RT_OBJ := build/runtime/szrt_native_x8632.o build/runtime/szrt_sb_x8632.o
194
195 runtime: $(RT_OBJ)
196
197 # Use runtime.is.built so that build-runtime.py is invoked only once
198 # even in a parallel build.
199 .INTERMEDIATE: runtime.is.built
200 $(RT_OBJ): runtime.is.built
201 runtime.is.built: $(RT_SRC)
202 @echo ================ Building Subzero runtime ================
203 ./pydir/build-runtime.py -v
204
194 check-lit: $(OBJDIR)/llvm2ice make_symlink 205 check-lit: $(OBJDIR)/llvm2ice make_symlink
195 LLVM_BIN_PATH=$(LLVM_BIN_PATH) \ 206 LLVM_BIN_PATH=$(LLVM_BIN_PATH) \
196 BINUTILS_BIN_PATH=$(BINUTILS_BIN_PATH) \ 207 BINUTILS_BIN_PATH=$(BINUTILS_BIN_PATH) \
197 $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit 208 $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit
198 209
199 check-unit: $(OBJDIR)/run_unittests 210 check-unit: $(OBJDIR)/run_unittests
200 $(OBJDIR)/run_unittests 211 $(OBJDIR)/run_unittests
201 212
202 ifdef MINIMAL 213 ifdef MINIMAL
203 check: check-lit check-unit 214 check: check-lit check-unit runtime
204 @echo "Crosstests ignored, minimal build" 215 @echo "Crosstests ignored, minimal build"
205 else 216 else
206 check: check-lit check-unit 217 check: check-lit check-unit runtime
207 (cd crosstest; ./runtests.sh) 218 (cd crosstest; ./runtests.sh)
208 endif 219 endif
209 220
210 FORMAT_BLACKLIST = 221 FORMAT_BLACKLIST =
211 # Add one of the following lines for each source file to ignore. 222 # Add one of the following lines for each source file to ignore.
212 FORMAT_BLACKLIST += ! -name IceParseInstsTest.cpp 223 FORMAT_BLACKLIST += ! -name IceParseInstsTest.cpp
213 format: 224 format:
214 $(LLVM_BIN_PATH)/clang-format -style=LLVM -i \ 225 $(LLVM_BIN_PATH)/clang-format -style=LLVM -i \
215 `find . -regex '.*\.\(c\|h\|cpp\)' $(FORMAT_BLACKLIST)` 226 `find . -regex '.*\.\(c\|h\|cpp\)' $(FORMAT_BLACKLIST)`
216 227
217 format-diff: 228 format-diff:
218 git diff -U0 `git merge-base HEAD master` | \ 229 git diff -U0 `git merge-base HEAD master` | \
219 PATH=$(LLVM_BIN_PATH):$(PATH) \ 230 PATH=$(LLVM_BIN_PATH):$(PATH) \
220 $(LLVM_SRC_PATH)/../clang/tools/clang-format/clang-format-diff.py \ 231 $(LLVM_SRC_PATH)/../clang/tools/clang-format/clang-format-diff.py \
221 -p1 -style=LLVM -i 232 -p1 -style=LLVM -i
222 233
223 bloat: make_symlink 234 bloat: make_symlink
224 nm -C -S -l llvm2ice | \ 235 nm -C -S -l llvm2ice | \
225 bloat/bloat.py --nm-output=/dev/stdin syms > build/llvm2ice.bloat.json 236 bloat/bloat.py --nm-output=/dev/stdin syms > build/llvm2ice.bloat.json
226 @echo See Subzero size breakdown in bloat/llvm2ice.bloat.html 237 @echo See Subzero size breakdown in bloat/llvm2ice.bloat.html
227 238
228 clean: 239 clean:
229 rm -rf llvm2ice *.o $(OBJDIR) build/llvm2ice.bloat.json 240 rm -rf llvm2ice *.o $(OBJDIR) build/llvm2ice.bloat.json
230 241
231 clean-all: clean 242 clean-all: clean
232 rm -rf build/ 243 rm -rf build/
OLDNEW
« no previous file with comments | « no previous file | pydir/build-runtime.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698