Advertisement
Guest User

v8 Makefile

a guest
Jul 18th, 2014
540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 17.75 KB | None | 0 0
  1. # Copyright 2012 the V8 project authors. All rights reserved.
  2. # Redistribution and use in source and binary forms, with or without
  3. # modification, are permitted provided that the following conditions are
  4. # met:
  5. #
  6. #     * Redistributions of source code must retain the above copyright
  7. #       notice, this list of conditions and the following disclaimer.
  8. #     * Redistributions in binary form must reproduce the above
  9. #       copyright notice, this list of conditions and the following
  10. #       disclaimer in the documentation and/or other materials provided
  11. #       with the distribution.
  12. #     * Neither the name of Google Inc. nor the names of its
  13. #       contributors may be used to endorse or promote products derived
  14. #       from this software without specific prior written permission.
  15. #
  16. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  17. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  18. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  19. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  20. # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  21. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  22. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  23. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  24. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  26. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27.  
  28.  
  29. # Variable default definitions. Override them by exporting them in your shell.
  30. CXX ?= g++
  31. LINK ?= g++
  32. OUTDIR ?= out
  33. TESTJOBS ?=
  34. GYPFLAGS ?=
  35. TESTFLAGS ?=
  36. ANDROID_NDK_ROOT ?=
  37. ANDROID_NDK_HOST_ARCH ?=
  38. ANDROID_TOOLCHAIN ?=
  39. ANDROID_V8 ?= /data/local/tmp/v8
  40. NACL_SDK_ROOT ?=
  41.  
  42. # Special build flags. Use them like this: "make library=shared"
  43.  
  44. # library=shared || component=shared_library
  45. ifeq ($(library), shared)
  46.   GYPFLAGS += -Dcomponent=shared_library
  47. endif
  48. ifdef component
  49.   GYPFLAGS += -Dcomponent=$(component)
  50. endif
  51. # console=readline
  52. ifdef console
  53.   GYPFLAGS += -Dconsole=$(console)
  54. endif
  55. # disassembler=on
  56. ifeq ($(disassembler), on)
  57.   GYPFLAGS += -Dv8_enable_disassembler=1
  58. endif
  59. # objectprint=on
  60. ifeq ($(objectprint), on)
  61.   GYPFLAGS += -Dv8_object_print=1
  62. endif
  63. # verifyheap=on
  64. ifeq ($(verifyheap), on)
  65.   GYPFLAGS += -Dv8_enable_verify_heap=1
  66. endif
  67. # backtrace=off
  68. ifeq ($(backtrace), off)
  69.   GYPFLAGS += -Dv8_enable_backtrace=0
  70. else
  71.   GYPFLAGS += -Dv8_enable_backtrace=1
  72. endif
  73. # verifypredictable=on
  74. ifeq ($(verifypredictable), on)
  75.   GYPFLAGS += -Dv8_enable_verify_predictable=1
  76. endif
  77. # snapshot=off
  78. ifeq ($(snapshot), off)
  79.   GYPFLAGS += -Dv8_use_snapshot='false'
  80. endif
  81. # extrachecks=on/off
  82. ifeq ($(extrachecks), on)
  83.   GYPFLAGS += -Dv8_enable_extra_checks=1 -Dv8_enable_handle_zapping=1
  84. endif
  85. ifeq ($(extrachecks), off)
  86.   GYPFLAGS += -Dv8_enable_extra_checks=0 -Dv8_enable_handle_zapping=0
  87. endif
  88. # gdbjit=on/off
  89. ifeq ($(gdbjit), on)
  90.   GYPFLAGS += -Dv8_enable_gdbjit=1
  91. endif
  92. ifeq ($(gdbjit), off)
  93.   GYPFLAGS += -Dv8_enable_gdbjit=0
  94. endif
  95. # vtunejit=on
  96. ifeq ($(vtunejit), on)
  97.   GYPFLAGS += -Dv8_enable_vtunejit=1
  98. endif
  99. # optdebug=on
  100. ifeq ($(optdebug), on)
  101.   GYPFLAGS += -Dv8_optimized_debug=2
  102. endif
  103. # unalignedaccess=on
  104. ifeq ($(unalignedaccess), on)
  105.   GYPFLAGS += -Dv8_can_use_unaligned_accesses=true
  106. endif
  107. # randomseed=12345, disable random seed via randomseed=0
  108. ifdef randomseed
  109.   GYPFLAGS += -Dv8_random_seed=$(randomseed)
  110. endif
  111. # soname_version=1.2.3
  112. ifdef soname_version
  113.   GYPFLAGS += -Dsoname_version=$(soname_version)
  114. endif
  115. # werror=no
  116. ifeq ($(werror), no)
  117.   GYPFLAGS += -Dwerror=''
  118. endif
  119. # presubmit=no
  120. ifeq ($(presubmit), no)
  121.   TESTFLAGS += --no-presubmit
  122. endif
  123. # strictaliasing=off (workaround for GCC-4.5)
  124. ifeq ($(strictaliasing), off)
  125.   GYPFLAGS += -Dv8_no_strict_aliasing=1
  126. endif
  127. # regexp=interpreted
  128. ifeq ($(regexp), interpreted)
  129.   GYPFLAGS += -Dv8_interpreted_regexp=1
  130. endif
  131. # i18nsupport=off
  132. ifeq ($(i18nsupport), off)
  133.   GYPFLAGS += -Dv8_enable_i18n_support=0
  134.   TESTFLAGS += --noi18n
  135. endif
  136. # deprecation_warnings=on
  137. ifeq ($(deprecationwarnings), on)
  138.   GYPFLAGS += -Dv8_deprecation_warnings=1
  139. endif
  140. # asan=/path/to/clang++
  141. ifneq ($(strip $(asan)),)
  142.   GYPFLAGS += -Dasan=1
  143.   export CXX=$(asan)
  144.   export CXX_host=$(asan)
  145.   export LINK=$(asan)
  146.   export ASAN_SYMBOLIZER_PATH="$(dir $(asan))llvm-symbolizer"
  147. endif
  148.  
  149. # arm specific flags.
  150. # arm_version=<number | "default">
  151. ifneq ($(strip $(arm_version)),)
  152.   GYPFLAGS += -Darm_version=$(arm_version)
  153. else
  154. # Deprecated (use arm_version instead): armv7=false/true
  155. ifeq ($(armv7), false)
  156.   GYPFLAGS += -Darm_version=6
  157. else
  158. ifeq ($(armv7), true)
  159.   GYPFLAGS += -Darm_version=7
  160. endif
  161. endif
  162. endif
  163. # hardfp=on/off. Deprecated, use armfloatabi
  164. ifeq ($(hardfp),on)
  165.   GYPFLAGS += -Darm_float_abi=hard
  166. else
  167. ifeq ($(hardfp),off)
  168.   GYPFLAGS += -Darm_float_abi=softfp
  169. endif
  170. endif
  171. # fpu: armfpu=xxx
  172. # xxx: vfp, vfpv3-d16, vfpv3, neon.
  173. ifeq ($(armfpu),)
  174.   GYPFLAGS += -Darm_fpu=default
  175. else
  176.   GYPFLAGS += -Darm_fpu=$(armfpu)
  177. endif
  178. # float abi: armfloatabi=softfp/hard
  179. ifeq ($(armfloatabi),)
  180. ifeq ($(hardfp),)
  181.   GYPFLAGS += -Darm_float_abi=default
  182. endif
  183. else
  184.   GYPFLAGS += -Darm_float_abi=$(armfloatabi)
  185. endif
  186. # armthumb=on/off
  187. ifeq ($(armthumb), off)
  188.   GYPFLAGS += -Darm_thumb=0
  189. else
  190. ifeq ($(armthumb), on)
  191.   GYPFLAGS += -Darm_thumb=1
  192. endif
  193. endif
  194. # arm_test_noprobe=on
  195. # With this flag set, by default v8 will only use features implied
  196. # by the compiler (no probe). This is done by modifying the default
  197. # values of enable_armv7, enable_vfp3, enable_32dregs and enable_neon.
  198. # Modifying these flags when launching v8 will enable the probing for
  199. # the specified values.
  200. ifeq ($(arm_test_noprobe), on)
  201.   GYPFLAGS += -Darm_test_noprobe=on
  202. endif
  203.  
  204. # ----------------- available targets: --------------------
  205. # - "builddeps": pulls in external dependencies for building
  206. # - "dependencies": pulls in all external dependencies
  207. # - "grokdump": rebuilds heap constants lists used by grokdump
  208. # - any arch listed in ARCHES (see below)
  209. # - any mode listed in MODES
  210. # - every combination <arch>.<mode>, e.g. "ia32.release"
  211. # - "native": current host's architecture, release mode
  212. # - any of the above with .check appended, e.g. "ia32.release.check"
  213. # - "android": cross-compile for Android/ARM
  214. # - "nacl" : cross-compile for Native Client (ia32 and x64)
  215. # - default (no target specified): build all DEFAULT_ARCHES and MODES
  216. # - "check": build all targets and run all tests
  217. # - "<arch>.clean" for any <arch> in ARCHES
  218. # - "clean": clean all ARCHES
  219.  
  220. # ----------------- internal stuff ------------------------
  221.  
  222. # Architectures and modes to be compiled. Consider these to be internal
  223. # variables, don't override them (use the targets instead).
  224. ARCHES = ia32 x64 x32 arm arm64 mips mipsel mips64el x87
  225. DEFAULT_ARCHES = ia32 x64 arm
  226. MODES = release debug optdebug
  227. DEFAULT_MODES = release debug
  228. ANDROID_ARCHES = android_ia32 android_arm android_arm64 android_mipsel android_x87
  229. NACL_ARCHES = nacl_ia32 nacl_x64
  230.  
  231. # List of files that trigger Makefile regeneration:
  232. GYPFILES = build/all.gyp build/features.gypi build/standalone.gypi \
  233.            build/toolchain.gypi samples/samples.gyp src/d8.gyp \
  234.            test/cctest/cctest.gyp tools/gyp/v8.gyp
  235.  
  236. # If vtunejit=on, the v8vtune.gyp will be appended.
  237. ifeq ($(vtunejit), on)
  238.   GYPFILES += src/third_party/vtune/v8vtune.gyp
  239. endif
  240. # Generates all combinations of ARCHES and MODES, e.g. "ia32.release".
  241. BUILDS = $(foreach mode,$(MODES),$(addsuffix .$(mode),$(ARCHES)))
  242. ANDROID_BUILDS = $(foreach mode,$(MODES), \
  243.                    $(addsuffix .$(mode),$(ANDROID_ARCHES)))
  244. NACL_BUILDS = $(foreach mode,$(MODES), \
  245.                    $(addsuffix .$(mode),$(NACL_ARCHES)))
  246. # Generates corresponding test targets, e.g. "ia32.release.check".
  247. CHECKS = $(addsuffix .check,$(BUILDS))
  248. QUICKCHECKS = $(addsuffix .quickcheck,$(BUILDS))
  249. ANDROID_CHECKS = $(addsuffix .check,$(ANDROID_BUILDS))
  250. NACL_CHECKS = $(addsuffix .check,$(NACL_BUILDS))
  251. # File where previously used GYPFLAGS are stored.
  252. ENVFILE = $(OUTDIR)/environment
  253.  
  254. .PHONY: all check clean builddeps dependencies $(ENVFILE).new native \
  255.         qc quickcheck $(QUICKCHECKS) \
  256.         $(addsuffix .quickcheck,$(MODES)) $(addsuffix .quickcheck,$(ARCHES)) \
  257.         $(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \
  258.         $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \
  259.         $(ANDROID_ARCHES) $(ANDROID_BUILDS) $(ANDROID_CHECKS) \
  260.         must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN \
  261.         $(NACL_ARCHES) $(NACL_BUILDS) $(NACL_CHECKS) \
  262.         must-set-NACL_SDK_ROOT
  263.  
  264. # Target definitions. "all" is the default.
  265. all: $(DEFAULT_MODES)
  266.  
  267. # Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile
  268. # having been created before.
  269. buildbot:
  270.     $(MAKE) -C "$(OUTDIR)" BUILDTYPE=$(BUILDTYPE) \
  271.             builddir="$(abspath $(OUTDIR))/$(BUILDTYPE)"
  272.  
  273. # Compile targets. MODES and ARCHES are convenience targets.
  274. .SECONDEXPANSION:
  275. $(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES))
  276.  
  277. $(ARCHES): $(addprefix $$@.,$(DEFAULT_MODES))
  278.  
  279. # Defines how to build a particular target (e.g. ia32.release).
  280. $(BUILDS): $(OUTDIR)/Makefile.$$@
  281.     @$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \
  282.              CXX="$(CXX)" LINK="$(LINK)" \
  283.              BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
  284.                          python -c "print \
  285.                          raw_input().replace('opt', '').capitalize()") \
  286.              builddir="$(shell pwd)/$(OUTDIR)/$@"
  287.  
  288. native: $(OUTDIR)/Makefile.native
  289.     @$(MAKE) -C "$(OUTDIR)" -f Makefile.native \
  290.              CXX="$(CXX)" LINK="$(LINK)" BUILDTYPE=Release \
  291.              builddir="$(shell pwd)/$(OUTDIR)/$@"
  292.  
  293. $(ANDROID_ARCHES): $(addprefix $$@.,$(MODES))
  294.  
  295. $(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) build/android.gypi \
  296.                    must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN Makefile.android
  297.     @$(MAKE) -f Makefile.android $@ \
  298.             ARCH="$(basename $@)" \
  299.             MODE="$(subst .,,$(suffix $@))" \
  300.             OUTDIR="$(OUTDIR)" \
  301.             GYPFLAGS="$(GYPFLAGS)"
  302.  
  303. $(NACL_ARCHES): $(addprefix $$@.,$(MODES))
  304.  
  305. $(NACL_BUILDS): $(GYPFILES) $(ENVFILE) \
  306.            Makefile.nacl must-set-NACL_SDK_ROOT
  307.     @$(MAKE) -f Makefile.nacl $@ \
  308.             ARCH="$(basename $@)" \
  309.             MODE="$(subst .,,$(suffix $@))" \
  310.             OUTDIR="$(OUTDIR)" \
  311.             GYPFLAGS="$(GYPFLAGS)"
  312.  
  313. # Test targets.
  314. check: all
  315.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  316.         --arch=$(shell echo $(DEFAULT_ARCHES) | sed -e 's/ /,/g') \
  317.         $(TESTFLAGS)
  318.  
  319. $(addsuffix .check,$(MODES)): $$(basename $$@)
  320.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  321.         --mode=$(basename $@) $(TESTFLAGS)
  322.  
  323. $(addsuffix .check,$(ARCHES)): $$(basename $$@)
  324.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  325.         --arch=$(basename $@) $(TESTFLAGS)
  326.  
  327. $(CHECKS): $$(basename $$@)
  328.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  329.         --arch-and-mode=$(basename $@) $(TESTFLAGS)
  330.  
  331. $(addsuffix .quickcheck,$(MODES)): $$(basename $$@)
  332.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  333.         --mode=$(basename $@) $(TESTFLAGS) --quickcheck
  334.  
  335. $(addsuffix .quickcheck,$(ARCHES)): $$(basename $$@)
  336.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  337.         --arch=$(basename $@) $(TESTFLAGS) --quickcheck
  338.  
  339. $(QUICKCHECKS): $$(basename $$@)
  340.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  341.         --arch-and-mode=$(basename $@) $(TESTFLAGS) --quickcheck
  342.  
  343. $(addsuffix .sync, $(ANDROID_BUILDS)): $$(basename $$@)
  344.     @tools/android-sync.sh $(basename $@) $(OUTDIR) \
  345.                            $(shell pwd) $(ANDROID_V8)
  346.  
  347. $(addsuffix .check, $(ANDROID_BUILDS)): $$(basename $$@).sync
  348.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  349.          --arch-and-mode=$(basename $@) \
  350.          --timeout=600 \
  351.          --command-prefix="tools/android-run.py" $(TESTFLAGS)
  352.  
  353. $(addsuffix .check, $(ANDROID_ARCHES)): \
  354.                 $(addprefix $$(basename $$@).,$(MODES)).check
  355.  
  356. $(addsuffix .check, $(NACL_BUILDS)): $$(basename $$@)
  357.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  358.          --arch-and-mode=$(basename $@) \
  359.          --timeout=600 --nopresubmit --noi18n \
  360.          --command-prefix="tools/nacl-run.py"
  361.  
  362. $(addsuffix .check, $(NACL_ARCHES)): \
  363.                 $(addprefix $$(basename $$@).,$(MODES)).check
  364.  
  365. native.check: native
  366.     @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR)/native \
  367.         --arch-and-mode=. $(TESTFLAGS)
  368.  
  369. SUPERFASTTESTMODES = ia32.release
  370. FASTTESTMODES = $(SUPERFASTTESTMODES),x64.release,ia32.optdebug,x64.optdebug,arm.optdebug,arm64.release
  371. FASTCOMPILEMODES = $(FASTTESTMODES),arm64.optdebug
  372.  
  373. COMMA = ,
  374. EMPTY =
  375. SPACE = $(EMPTY) $(EMPTY)
  376. quickcheck: $(subst $(COMMA),$(SPACE),$(FASTCOMPILEMODES))
  377.     tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  378.         --arch-and-mode=$(SUPERFASTTESTMODES) $(TESTFLAGS) --quickcheck \
  379.         --download-data mozilla webkit
  380.     tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
  381.         --arch-and-mode=$(FASTTESTMODES) $(TESTFLAGS) --quickcheck
  382. qc: quickcheck
  383.  
  384. # Clean targets. You can clean each architecture individually, or everything.
  385. $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)):
  386.     rm -f $(OUTDIR)/Makefile.$(basename $@)*
  387.     rm -rf $(OUTDIR)/$(basename $@).release
  388.     rm -rf $(OUTDIR)/$(basename $@).debug
  389.     rm -rf $(OUTDIR)/$(basename $@).optdebug
  390.     find $(OUTDIR) -regex '.*\(host\|target\)\.$(basename $@).*\.mk' -delete
  391.  
  392. native.clean:
  393.     rm -f $(OUTDIR)/Makefile.native
  394.     rm -rf $(OUTDIR)/native
  395.     find $(OUTDIR) -regex '.*\(host\|target\)\.native\.mk' -delete
  396.  
  397. clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)) native.clean gtags.clean
  398.  
  399. # GYP file generation targets.
  400. OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(BUILDS))
  401. $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE)
  402.     PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH):$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \
  403.     GYP_GENERATORS=make \
  404.     build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
  405.                   -Ibuild/standalone.gypi --depth=. \
  406.                   -Dv8_target_arch=$(subst .,,$(suffix $(basename $@))) \
  407.                   $(if $(findstring optdebug,$@),-Dv8_optimized_debug=2,) \
  408.                   -S$(suffix $(basename $@))$(suffix $@) $(GYPFLAGS)
  409.  
  410. $(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE)
  411.     PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH):$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \
  412.     GYP_GENERATORS=make \
  413.     build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
  414.                   -Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS)
  415.  
  416. must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN:
  417. ifndef ANDROID_NDK_ROOT
  418. ifndef ANDROID_TOOLCHAIN
  419.       $(error ANDROID_NDK_ROOT or ANDROID_TOOLCHAIN must be set))
  420. endif
  421. endif
  422.  
  423. # Note that NACL_SDK_ROOT must be set to point to an appropriate
  424. # Native Client SDK before using this makefile. You can download
  425. # an SDK here:
  426. #   https://developers.google.com/native-client/sdk/download
  427. # The path indicated by NACL_SDK_ROOT will typically end with
  428. # a folder for a pepper version such as "pepper_25" that should
  429. # have "tools" and "toolchain" subdirectories.
  430. must-set-NACL_SDK_ROOT:
  431. ifndef NACL_SDK_ROOT
  432.       $(error NACL_SDK_ROOT must be set)
  433. endif
  434.  
  435. # Replaces the old with the new environment file if they're different, which
  436. # will trigger GYP to regenerate Makefiles.
  437. $(ENVFILE): $(ENVFILE).new
  438.     @if test -r $(ENVFILE) && cmp $(ENVFILE).new $(ENVFILE) > /dev/null; \
  439.         then rm $(ENVFILE).new; \
  440.         else mv $(ENVFILE).new $(ENVFILE); fi
  441.  
  442. # Stores current GYPFLAGS in a file.
  443. $(ENVFILE).new:
  444.     @mkdir -p $(OUTDIR); echo "GYPFLAGS=$(GYPFLAGS)" > $(ENVFILE).new; \
  445.         echo "CXX=$(CXX)" >> $(ENVFILE).new
  446.  
  447. # Heap constants for grokdump.
  448. DUMP_FILE = tools/v8heapconst.py
  449. grokdump: ia32.release
  450.     @cat $(DUMP_FILE).tmpl > $(DUMP_FILE)
  451.     @$(OUTDIR)/ia32.release/d8 --dump-heap-constants >> $(DUMP_FILE)
  452.  
  453. # Support for the GNU GLOBAL Source Code Tag System.
  454. gtags.files: $(GYPFILES) $(ENVFILE)
  455.     @find include src test -name '*.h' -o -name '*.cc' -o -name '*.c' > $@
  456.  
  457. # We need to manually set the stack limit here, to work around bugs in
  458. # gmake-3.81 and global-5.7.1 on recent 64-bit Linux systems.
  459. GPATH GRTAGS GSYMS GTAGS: gtags.files $(shell cat gtags.files 2> /dev/null)
  460.     @bash -c 'ulimit -s 10240 && GTAGSFORCECPP=yes gtags -i -q -f $<'
  461.  
  462. gtags.clean:
  463.     rm -f gtags.files GPATH GRTAGS GSYMS GTAGS
  464.  
  465. # Dependencies. "builddeps" are dependencies required solely for building,
  466. # "dependencies" includes also dependencies required for development.
  467. # Remember to keep these in sync with the DEPS file.
  468. builddeps:
  469.     svn checkout --force http://gyp.googlecode.com/svn/trunk build/gyp \
  470.         --revision 1831
  471.     svn checkout --force \
  472.         https://src.chromium.org/chrome/trunk/deps/third_party/icu46 \
  473.         third_party/icu --revision 258359
  474.  
  475. dependencies: builddeps
  476.     # The spec is a copy of the hooks in v8's DEPS file.
  477.     gclient sync -r fb782d4369d5ae04f17a2fceef7de5a63e50f07b --spec="solutions = [{u'managed': False, u'name': u'buildtools', u'url': u'https://chromium.googlesource.com/chromium/buildtools.git', u'custom_deps': {}, u'custom_hooks': [{u'name': u'clang_format_win',u'pattern': u'.',u'action': [u'download_from_google_storage',u'--no_resume',u'--platform=win32',u'--no_auth',u'--bucket',u'chromium-clang-format',u'-s',u'buildtools/win/clang-format.exe.sha1']},{u'name': u'clang_format_mac',u'pattern': u'.',u'action': [u'download_from_google_storage',u'--no_resume',u'--platform=darwin',u'--no_auth',u'--bucket',u'chromium-clang-format',u'-s',u'buildtools/mac/clang-format.sha1']},{u'name': u'clang_format_linux',u'pattern': u'.',u'action': [u'download_from_google_storage',u'--no_resume',u'--platform=linux*',u'--no_auth',u'--bucket',u'chromium-clang-format',u'-s',u'buildtools/linux64/clang-format.sha1']}],u'deps_file': u'.DEPS.git', u'safesync_url': u''}]"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement