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

Side by Side Diff: Makefile

Issue 98963002: 'make quickcheck': don't overwrite debug output. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: addressed comments Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | tools/run-tests.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 # Copyright 2012 the V8 project authors. All rights reserved. 1 # Copyright 2012 the V8 project authors. All rights reserved.
2 # Redistribution and use in source and binary forms, with or without 2 # Redistribution and use in source and binary forms, with or without
3 # modification, are permitted provided that the following conditions are 3 # modification, are permitted provided that the following conditions are
4 # met: 4 # met:
5 # 5 #
6 # * Redistributions of source code must retain the above copyright 6 # * Redistributions of source code must retain the above copyright
7 # notice, this list of conditions and the following disclaimer. 7 # notice, this list of conditions and the following disclaimer.
8 # * Redistributions in binary form must reproduce the above 8 # * Redistributions in binary form must reproduce the above
9 # copyright notice, this list of conditions and the following 9 # copyright notice, this list of conditions and the following
10 # disclaimer in the documentation and/or other materials provided 10 # disclaimer in the documentation and/or other materials provided
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 # - "check": build all targets and run all tests 213 # - "check": build all targets and run all tests
214 # - "<arch>.clean" for any <arch> in ARCHES 214 # - "<arch>.clean" for any <arch> in ARCHES
215 # - "clean": clean all ARCHES 215 # - "clean": clean all ARCHES
216 216
217 # ----------------- internal stuff ------------------------ 217 # ----------------- internal stuff ------------------------
218 218
219 # Architectures and modes to be compiled. Consider these to be internal 219 # Architectures and modes to be compiled. Consider these to be internal
220 # variables, don't override them (use the targets instead). 220 # variables, don't override them (use the targets instead).
221 ARCHES = ia32 x64 arm mipsel 221 ARCHES = ia32 x64 arm mipsel
222 DEFAULT_ARCHES = ia32 x64 arm 222 DEFAULT_ARCHES = ia32 x64 arm
223 MODES = release debug 223 MODES = release debug optdebug
224 DEFAULT_MODES = release debug
224 ANDROID_ARCHES = android_ia32 android_arm android_mipsel 225 ANDROID_ARCHES = android_ia32 android_arm android_mipsel
225 NACL_ARCHES = nacl_ia32 nacl_x64 226 NACL_ARCHES = nacl_ia32 nacl_x64
226 227
227 # List of files that trigger Makefile regeneration: 228 # List of files that trigger Makefile regeneration:
228 GYPFILES = build/all.gyp build/features.gypi build/standalone.gypi \ 229 GYPFILES = build/all.gyp build/features.gypi build/standalone.gypi \
229 build/toolchain.gypi samples/samples.gyp src/d8.gyp \ 230 build/toolchain.gypi samples/samples.gyp src/d8.gyp \
230 test/cctest/cctest.gyp tools/gyp/v8.gyp 231 test/cctest/cctest.gyp tools/gyp/v8.gyp
231 232
232 # If vtunejit=on, the v8vtune.gyp will be appended. 233 # If vtunejit=on, the v8vtune.gyp will be appended.
233 ifeq ($(vtunejit), on) 234 ifeq ($(vtunejit), on)
234 GYPFILES += src/third_party/vtune/v8vtune.gyp 235 GYPFILES += src/third_party/vtune/v8vtune.gyp
235 endif 236 endif
236 # Generates all combinations of ARCHES and MODES, e.g. "ia32.release". 237 # Generates all combinations of ARCHES and MODES, e.g. "ia32.release".
237 BUILDS = $(foreach mode,$(MODES),$(addsuffix .$(mode),$(ARCHES))) 238 BUILDS = $(foreach mode,$(MODES),$(addsuffix .$(mode),$(ARCHES)))
238 ANDROID_BUILDS = $(foreach mode,$(MODES), \ 239 ANDROID_BUILDS = $(foreach mode,$(MODES), \
239 $(addsuffix .$(mode),$(ANDROID_ARCHES))) 240 $(addsuffix .$(mode),$(ANDROID_ARCHES)))
240 NACL_BUILDS = $(foreach mode,$(MODES), \ 241 NACL_BUILDS = $(foreach mode,$(MODES), \
241 $(addsuffix .$(mode),$(NACL_ARCHES))) 242 $(addsuffix .$(mode),$(NACL_ARCHES)))
242 # Generates corresponding test targets, e.g. "ia32.release.check". 243 # Generates corresponding test targets, e.g. "ia32.release.check".
243 CHECKS = $(addsuffix .check,$(BUILDS)) 244 CHECKS = $(addsuffix .check,$(BUILDS))
244 ANDROID_CHECKS = $(addsuffix .check,$(ANDROID_BUILDS)) 245 ANDROID_CHECKS = $(addsuffix .check,$(ANDROID_BUILDS))
245 NACL_CHECKS = $(addsuffix .check,$(NACL_BUILDS)) 246 NACL_CHECKS = $(addsuffix .check,$(NACL_BUILDS))
246 # File where previously used GYPFLAGS are stored. 247 # File where previously used GYPFLAGS are stored.
247 ENVFILE = $(OUTDIR)/environment 248 ENVFILE = $(OUTDIR)/environment
248 249
249 .PHONY: all check clean dependencies $(ENVFILE).new native \ 250 .PHONY: all check clean dependencies $(ENVFILE).new native \
251 qc quickcheck \
250 $(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \ 252 $(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \
251 $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \ 253 $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \
252 $(ANDROID_ARCHES) $(ANDROID_BUILDS) $(ANDROID_CHECKS) \ 254 $(ANDROID_ARCHES) $(ANDROID_BUILDS) $(ANDROID_CHECKS) \
253 must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN \ 255 must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN \
254 $(NACL_ARCHES) $(NACL_BUILDS) $(NACL_CHECKS) \ 256 $(NACL_ARCHES) $(NACL_BUILDS) $(NACL_CHECKS) \
255 must-set-NACL_SDK_ROOT 257 must-set-NACL_SDK_ROOT
256 258
257 # Target definitions. "all" is the default. 259 # Target definitions. "all" is the default.
258 all: $(MODES) 260 all: $(DEFAULT_MODES)
259 261
260 # Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile 262 # Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile
261 # having been created before. 263 # having been created before.
262 buildbot: 264 buildbot:
263 $(MAKE) -C "$(OUTDIR)" BUILDTYPE=$(BUILDTYPE) \ 265 $(MAKE) -C "$(OUTDIR)" BUILDTYPE=$(BUILDTYPE) \
264 builddir="$(abspath $(OUTDIR))/$(BUILDTYPE)" 266 builddir="$(abspath $(OUTDIR))/$(BUILDTYPE)"
265 267
266 mips mips.release mips.debug: 268 mips mips.release mips.debug:
267 @echo "V8 does not support big-endian MIPS builds at the moment," \ 269 @echo "V8 does not support big-endian MIPS builds at the moment," \
268 "please use little-endian builds (mipsel)." 270 "please use little-endian builds (mipsel)."
269 271
270 # Compile targets. MODES and ARCHES are convenience targets. 272 # Compile targets. MODES and ARCHES are convenience targets.
271 .SECONDEXPANSION: 273 .SECONDEXPANSION:
272 $(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES)) 274 $(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES))
273 275
274 $(ARCHES): $(addprefix $$@.,$(MODES)) 276 $(ARCHES): $(addprefix $$@.,$(MODES))
275 277
276 # Defines how to build a particular target (e.g. ia32.release). 278 # Defines how to build a particular target (e.g. ia32.release).
277 $(BUILDS): $(OUTDIR)/Makefile.$$(basename $$@) 279 $(BUILDS): $(OUTDIR)/Makefile.$$@
278 » @$(MAKE) -C "$(OUTDIR)" -f Makefile.$(basename $@) \ 280 » @$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \
279 CXX="$(CXX)" LINK="$(LINK)" \ 281 CXX="$(CXX)" LINK="$(LINK)" \
280 BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \ 282 BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
281 » python -c "print raw_input().capitalize()") \ 283 » python -c "print \
284 » raw_input().replace('opt', '').capitalize()") \
282 builddir="$(shell pwd)/$(OUTDIR)/$@" 285 builddir="$(shell pwd)/$(OUTDIR)/$@"
283 286
284 native: $(OUTDIR)/Makefile.native 287 native: $(OUTDIR)/Makefile.native
285 @$(MAKE) -C "$(OUTDIR)" -f Makefile.native \ 288 @$(MAKE) -C "$(OUTDIR)" -f Makefile.native \
286 CXX="$(CXX)" LINK="$(LINK)" BUILDTYPE=Release \ 289 CXX="$(CXX)" LINK="$(LINK)" BUILDTYPE=Release \
287 builddir="$(shell pwd)/$(OUTDIR)/$@" 290 builddir="$(shell pwd)/$(OUTDIR)/$@"
288 291
289 $(ANDROID_ARCHES): $(addprefix $$@.,$(MODES)) 292 $(ANDROID_ARCHES): $(addprefix $$@.,$(MODES))
290 293
291 $(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) build/android.gypi \ 294 $(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) build/android.gypi \
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 --timeout=600 --nopresubmit --noi18n \ 346 --timeout=600 --nopresubmit --noi18n \
344 --command-prefix="tools/nacl-run.py" 347 --command-prefix="tools/nacl-run.py"
345 348
346 $(addsuffix .check, $(NACL_ARCHES)): \ 349 $(addsuffix .check, $(NACL_ARCHES)): \
347 $(addprefix $$(basename $$@).,$(MODES)).check 350 $(addprefix $$(basename $$@).,$(MODES)).check
348 351
349 native.check: native 352 native.check: native
350 @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR)/native \ 353 @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR)/native \
351 --arch-and-mode=. $(TESTFLAGS) 354 --arch-and-mode=. $(TESTFLAGS)
352 355
353 FASTTESTFLAGS = --flaky-tests=skip --slow-tests=skip --pass-fail-tests=skip \ 356 FASTTESTMODES = ia32.release,x64.release,ia32.optdebug,x64.optdebug,arm.optdebug
354 --variants=default,stress
355 FASTTESTMODES = ia32.release,x64.release,ia32.debug,x64.debug,arm.debug
356 357
357 quickcheck: 358 COMMA = ,
358 » @$(MAKE) all optdebug=on 359 EMPTY =
359 » @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ 360 SPACE = $(EMPTY) $(EMPTY)
360 » --arch-and-mode=$(FASTTESTMODES) $(FASTTESTFLAGS) $(TESTFLAGS) 361 quickcheck: $(subst $(COMMA),$(SPACE),$(FASTTESTMODES))
362 » tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
363 » --arch-and-mode=$(FASTTESTMODES) $(TESTFLAGS) --quickcheck
361 qc: quickcheck 364 qc: quickcheck
362 365
363 # Clean targets. You can clean each architecture individually, or everything. 366 # Clean targets. You can clean each architecture individually, or everything.
364 $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)): 367 $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)):
365 » rm -f $(OUTDIR)/Makefile.$(basename $@) 368 » rm -f $(OUTDIR)/Makefile.$(basename $@)*
366 rm -rf $(OUTDIR)/$(basename $@).release 369 rm -rf $(OUTDIR)/$(basename $@).release
367 rm -rf $(OUTDIR)/$(basename $@).debug 370 rm -rf $(OUTDIR)/$(basename $@).debug
368 » find $(OUTDIR) -regex '.*\(host\|target\).$(basename $@)\.mk' -delete 371 » find $(OUTDIR) -regex '.*\(host\|target\)\.$(basename $@).*\.mk' -delete
369 372
370 native.clean: 373 native.clean:
371 rm -f $(OUTDIR)/Makefile.native 374 rm -f $(OUTDIR)/Makefile.native
372 rm -rf $(OUTDIR)/native 375 rm -rf $(OUTDIR)/native
373 » find $(OUTDIR) -regex '.*\(host\|target\).native\.mk' -delete 376 » find $(OUTDIR) -regex '.*\(host\|target\)\.native\.mk' -delete
374 377
375 clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)) native.cl ean 378 clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)) native.cl ean
376 379
377 # GYP file generation targets. 380 # GYP file generation targets.
378 OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ARCHES)) 381 OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(BUILDS))
379 $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE) 382 $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE)
380 PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \ 383 PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \
381 GYP_GENERATORS=make \ 384 GYP_GENERATORS=make \
382 build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ 385 build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
383 -Ibuild/standalone.gypi --depth=. \ 386 -Ibuild/standalone.gypi --depth=. \
384 » -Dv8_target_arch=$(subst .,,$(suffix $@)) \ 387 » -Dv8_target_arch=$(subst .,,$(suffix $(basename $@))) \
385 » -S.$(subst .,,$(suffix $@)) $(GYPFLAGS) 388 » -Dv8_optimized_debug=$(if $(findstring optdebug,$@),2,0) \
389 » -S$(suffix $(basename $@))$(suffix $@) $(GYPFLAGS)
386 390
387 $(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE) 391 $(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE)
388 PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \ 392 PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \
389 GYP_GENERATORS=make \ 393 GYP_GENERATORS=make \
390 build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ 394 build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
391 -Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS) 395 -Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS)
392 396
393 must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN: 397 must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN:
394 ifndef ANDROID_NDK_ROOT 398 ifndef ANDROID_NDK_ROOT
395 ifndef ANDROID_TOOLCHAIN 399 ifndef ANDROID_TOOLCHAIN
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 @$(OUTDIR)/ia32.release/d8 --dump-heap-constants >> $(DUMP_FILE) 432 @$(OUTDIR)/ia32.release/d8 --dump-heap-constants >> $(DUMP_FILE)
429 433
430 # Dependencies. 434 # Dependencies.
431 # Remember to keep these in sync with the DEPS file. 435 # Remember to keep these in sync with the DEPS file.
432 dependencies: 436 dependencies:
433 svn checkout --force http://gyp.googlecode.com/svn/trunk build/gyp \ 437 svn checkout --force http://gyp.googlecode.com/svn/trunk build/gyp \
434 --revision 1685 438 --revision 1685
435 svn checkout --force \ 439 svn checkout --force \
436 https://src.chromium.org/chrome/trunk/deps/third_party/icu46 \ 440 https://src.chromium.org/chrome/trunk/deps/third_party/icu46 \
437 third_party/icu --revision 214189 441 third_party/icu --revision 214189
OLDNEW
« no previous file with comments | « no previous file | tools/run-tests.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698