OLD | NEW |
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 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 NACL_BUILDS = $(foreach mode,$(MODES), \ | 259 NACL_BUILDS = $(foreach mode,$(MODES), \ |
260 $(addsuffix .$(mode),$(NACL_ARCHES))) | 260 $(addsuffix .$(mode),$(NACL_ARCHES))) |
261 # Generates corresponding test targets, e.g. "ia32.release.check". | 261 # Generates corresponding test targets, e.g. "ia32.release.check". |
262 CHECKS = $(addsuffix .check,$(BUILDS)) | 262 CHECKS = $(addsuffix .check,$(BUILDS)) |
263 QUICKCHECKS = $(addsuffix .quickcheck,$(BUILDS)) | 263 QUICKCHECKS = $(addsuffix .quickcheck,$(BUILDS)) |
264 ANDROID_CHECKS = $(addsuffix .check,$(ANDROID_BUILDS)) | 264 ANDROID_CHECKS = $(addsuffix .check,$(ANDROID_BUILDS)) |
265 NACL_CHECKS = $(addsuffix .check,$(NACL_BUILDS)) | 265 NACL_CHECKS = $(addsuffix .check,$(NACL_BUILDS)) |
266 # File where previously used GYPFLAGS are stored. | 266 # File where previously used GYPFLAGS are stored. |
267 ENVFILE = $(OUTDIR)/environment | 267 ENVFILE = $(OUTDIR)/environment |
268 | 268 |
269 .PHONY: all check clean builddeps dependencies $(ENVFILE).new native version \ | 269 .PHONY: all check clean builddeps dependencies $(ENVFILE).new native \ |
270 qc quickcheck $(QUICKCHECKS) turbocheck \ | 270 qc quickcheck $(QUICKCHECKS) turbocheck \ |
271 $(addsuffix .quickcheck,$(MODES)) $(addsuffix .quickcheck,$(ARCHES)) \ | 271 $(addsuffix .quickcheck,$(MODES)) $(addsuffix .quickcheck,$(ARCHES)) \ |
272 $(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \ | 272 $(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \ |
273 $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \ | 273 $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \ |
274 $(ANDROID_ARCHES) $(ANDROID_BUILDS) $(ANDROID_CHECKS) \ | 274 $(ANDROID_ARCHES) $(ANDROID_BUILDS) $(ANDROID_CHECKS) \ |
275 must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN \ | 275 must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN \ |
276 $(NACL_ARCHES) $(NACL_BUILDS) $(NACL_CHECKS) \ | 276 $(NACL_ARCHES) $(NACL_BUILDS) $(NACL_CHECKS) \ |
277 must-set-NACL_SDK_ROOT | 277 must-set-NACL_SDK_ROOT |
278 | 278 |
279 # Target definitions. "all" is the default. | 279 # Target definitions. "all" is the default. |
280 all: $(DEFAULT_MODES) | 280 all: $(DEFAULT_MODES) |
281 | 281 |
282 # Target for generating the v8 version file from git tags. | |
283 version: | |
284 build/generate_version.py | |
285 | |
286 # Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile | 282 # Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile |
287 # having been created before. | 283 # having been created before. |
288 buildbot: version | 284 buildbot: |
289 $(MAKE) -C "$(OUTDIR)" BUILDTYPE=$(BUILDTYPE) \ | 285 $(MAKE) -C "$(OUTDIR)" BUILDTYPE=$(BUILDTYPE) \ |
290 builddir="$(abspath $(OUTDIR))/$(BUILDTYPE)" | 286 builddir="$(abspath $(OUTDIR))/$(BUILDTYPE)" |
291 | 287 |
292 # Compile targets. MODES and ARCHES are convenience targets. | 288 # Compile targets. MODES and ARCHES are convenience targets. |
293 .SECONDEXPANSION: | 289 .SECONDEXPANSION: |
294 $(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES)) | 290 $(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES)) |
295 | 291 |
296 $(ARCHES): $(addprefix $$@.,$(DEFAULT_MODES)) | 292 $(ARCHES): $(addprefix $$@.,$(DEFAULT_MODES)) |
297 | 293 |
298 # Defines how to build a particular target (e.g. ia32.release). | 294 # Defines how to build a particular target (e.g. ia32.release). |
299 $(BUILDS): $(OUTDIR)/Makefile.$$@ version | 295 $(BUILDS): $(OUTDIR)/Makefile.$$@ |
300 @$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \ | 296 @$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \ |
301 BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \ | 297 BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \ |
302 python -c "print \ | 298 python -c "print \ |
303 raw_input().replace('opt', '').capitalize()") \ | 299 raw_input().replace('opt', '').capitalize()") \ |
304 builddir="$(shell pwd)/$(OUTDIR)/$@" | 300 builddir="$(shell pwd)/$(OUTDIR)/$@" |
305 | 301 |
306 native: $(OUTDIR)/Makefile.native version | 302 native: $(OUTDIR)/Makefile.native |
307 @$(MAKE) -C "$(OUTDIR)" -f Makefile.native \ | 303 @$(MAKE) -C "$(OUTDIR)" -f Makefile.native \ |
308 BUILDTYPE=Release \ | 304 BUILDTYPE=Release \ |
309 builddir="$(shell pwd)/$(OUTDIR)/$@" | 305 builddir="$(shell pwd)/$(OUTDIR)/$@" |
310 | 306 |
311 $(ANDROID_ARCHES): $(addprefix $$@.,$(MODES)) | 307 $(ANDROID_ARCHES): $(addprefix $$@.,$(MODES)) |
312 | 308 |
313 $(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) build/android.gypi \ | 309 $(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) build/android.gypi \ |
314 must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN Makefile.android \ | 310 must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN Makefile.android |
315 version | |
316 @$(MAKE) -f Makefile.android $@ \ | 311 @$(MAKE) -f Makefile.android $@ \ |
317 ARCH="$(basename $@)" \ | 312 ARCH="$(basename $@)" \ |
318 MODE="$(subst .,,$(suffix $@))" \ | 313 MODE="$(subst .,,$(suffix $@))" \ |
319 OUTDIR="$(OUTDIR)" \ | 314 OUTDIR="$(OUTDIR)" \ |
320 GYPFLAGS="$(GYPFLAGS)" | 315 GYPFLAGS="$(GYPFLAGS)" |
321 | 316 |
322 $(NACL_ARCHES): $(addprefix $$@.,$(MODES)) | 317 $(NACL_ARCHES): $(addprefix $$@.,$(MODES)) |
323 | 318 |
324 $(NACL_BUILDS): $(GYPFILES) $(ENVFILE) \ | 319 $(NACL_BUILDS): $(GYPFILES) $(ENVFILE) \ |
325 » » Makefile.nacl must-set-NACL_SDK_ROOT version | 320 » » Makefile.nacl must-set-NACL_SDK_ROOT |
326 @$(MAKE) -f Makefile.nacl $@ \ | 321 @$(MAKE) -f Makefile.nacl $@ \ |
327 ARCH="$(basename $@)" \ | 322 ARCH="$(basename $@)" \ |
328 MODE="$(subst .,,$(suffix $@))" \ | 323 MODE="$(subst .,,$(suffix $@))" \ |
329 OUTDIR="$(OUTDIR)" \ | 324 OUTDIR="$(OUTDIR)" \ |
330 GYPFLAGS="$(GYPFLAGS)" | 325 GYPFLAGS="$(GYPFLAGS)" |
331 | 326 |
332 # Test targets. | 327 # Test targets. |
333 check: all | 328 check: all |
334 @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ | 329 @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ |
335 --arch=$(shell echo $(DEFAULT_ARCHES) | sed -e 's/ /,/g') \ | 330 --arch=$(shell echo $(DEFAULT_ARCHES) | sed -e 's/ /,/g') \ |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 rm -rf $(OUTDIR)/$(basename $@).release | 410 rm -rf $(OUTDIR)/$(basename $@).release |
416 rm -rf $(OUTDIR)/$(basename $@).debug | 411 rm -rf $(OUTDIR)/$(basename $@).debug |
417 rm -rf $(OUTDIR)/$(basename $@).optdebug | 412 rm -rf $(OUTDIR)/$(basename $@).optdebug |
418 find $(OUTDIR) -regex '.*\(host\|target\)\.$(basename $@).*\.mk' -delete | 413 find $(OUTDIR) -regex '.*\(host\|target\)\.$(basename $@).*\.mk' -delete |
419 | 414 |
420 native.clean: | 415 native.clean: |
421 rm -f $(OUTDIR)/Makefile.native | 416 rm -f $(OUTDIR)/Makefile.native |
422 rm -rf $(OUTDIR)/native | 417 rm -rf $(OUTDIR)/native |
423 find $(OUTDIR) -regex '.*\(host\|target\)\.native\.mk' -delete | 418 find $(OUTDIR) -regex '.*\(host\|target\)\.native\.mk' -delete |
424 | 419 |
425 version.clean: | 420 clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)) native.cl
ean gtags.clean |
426 » rm -f src/version_gen.cc | |
427 | |
428 clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)) native.cl
ean gtags.clean version.clean | |
429 | 421 |
430 # GYP file generation targets. | 422 # GYP file generation targets. |
431 OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(BUILDS)) | 423 OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(BUILDS)) |
432 $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE) | 424 $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE) |
433 $(eval CXX_TARGET_ARCH:=$(shell $(CXX) -v 2>&1 | grep ^Target: | \ | 425 $(eval CXX_TARGET_ARCH:=$(shell $(CXX) -v 2>&1 | grep ^Target: | \ |
434 cut -f 2 -d " " | cut -f 1 -d "-" )) | 426 cut -f 2 -d " " | cut -f 1 -d "-" )) |
435 $(eval CXX_TARGET_ARCH:=$(subst aarch64,arm64,$(CXX_TARGET_ARCH))) | 427 $(eval CXX_TARGET_ARCH:=$(subst aarch64,arm64,$(CXX_TARGET_ARCH))) |
436 $(eval CXX_TARGET_ARCH:=$(subst x86_64,x64,$(CXX_TARGET_ARCH))) | 428 $(eval CXX_TARGET_ARCH:=$(subst x86_64,x64,$(CXX_TARGET_ARCH))) |
437 $(eval V8_TARGET_ARCH:=$(subst .,,$(suffix $(basename $@)))) | 429 $(eval V8_TARGET_ARCH:=$(subst .,,$(suffix $(basename $@)))) |
438 PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:
$(PYTHONPATH):$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \ | 430 PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:
$(PYTHONPATH):$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \ |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 # We need to manually set the stack limit here, to work around bugs in | 490 # We need to manually set the stack limit here, to work around bugs in |
499 # gmake-3.81 and global-5.7.1 on recent 64-bit Linux systems. | 491 # gmake-3.81 and global-5.7.1 on recent 64-bit Linux systems. |
500 GPATH GRTAGS GSYMS GTAGS: gtags.files $(shell cat gtags.files 2> /dev/null) | 492 GPATH GRTAGS GSYMS GTAGS: gtags.files $(shell cat gtags.files 2> /dev/null) |
501 @bash -c 'ulimit -s 10240 && GTAGSFORCECPP=yes gtags -i -q -f $<' | 493 @bash -c 'ulimit -s 10240 && GTAGSFORCECPP=yes gtags -i -q -f $<' |
502 | 494 |
503 gtags.clean: | 495 gtags.clean: |
504 rm -f gtags.files GPATH GRTAGS GSYMS GTAGS | 496 rm -f gtags.files GPATH GRTAGS GSYMS GTAGS |
505 | 497 |
506 dependencies builddeps: | 498 dependencies builddeps: |
507 $(error Use 'gclient sync' instead) | 499 $(error Use 'gclient sync' instead) |
OLD | NEW |