X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=Makefile.in;h=5683eb7ba06af964def14409de5347f4872ffe3c;hb=caa564bea3d5f5a24d0797c4769184c1ea0abaff;hp=f83ddf76eefa4454d0b5e4dae4b3b11b78165b7b;hpb=334af011f01ceda1086d335231ada3363190b8a9;p=rust.git
diff --git a/Makefile.in b/Makefile.in
index f83ddf76eef..5683eb7ba06 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -19,29 +19,33 @@
#
# First, start with one of these build targets:
#
-# * all - The default. Builds a complete, bootstrapped compiler.
+# * all - The default. Build a complete, bootstrapped compiler.
# `rustc` will be in `${target-triple}/stage2/bin/`. Run it
# directly from the build directory if you like. This also
# comes with docs in `doc/`.
#
# * check - Run the complete test suite
#
+# * clean - Clean the build repertory. It is advised to run this
+# command if you want to build Rust again, after an update
+# of the git repository.
+#
# * install - Install Rust. Note that installation is not necessary
# to use the compiler.
#
# * uninstall - Uninstall the binaries
#
-# For hot tips on working with The Rust Build System, just:
+# For tips on working with The Rust Build System, just:
#
-# type `make hot-tips`
+# run `make tips`
#
# Otherwise
#
-# type `make`
+# run `make`
#
#
#
-#
+#
#
# # The Rust Build System Tip Line
#
@@ -52,8 +56,9 @@
# * check-$(crate) - Test a crate, e.g. `check-std`
# * check-ref - Run the language reference tests
# * check-docs - Test the documentation examples
-#
-# TODO: Lots more
+# * check-stage$(stage)-$(crate) - Test a crate in a specific stage
+# * check-stage$(stage)-{rpass,rfail,cfail,rmake,...} - Run tests in src/test/
+# * check-stage1-T-$(target)-H-$(host) - Run cross-compiled-tests
#
# Then mix in some of these environment variables to harness the
# ultimate power of The Rust Build System.
@@ -63,7 +68,7 @@
#
# * `TESTNAME=...` - Specify the name of tests to run
# * `CHECK_IGNORED=1` - Run normally-ignored tests
-# * `NO_BENCH=1` - Don't run crate benchmarks (disable `--bench` flag)
+# * `PLEASE_BENCH=1` - Run crate benchmarks (enable `--bench` flag)
#
# * `CFG_ENABLE_VALGRIND=1` - Run tests under valgrind
# * `VALGRIND_COMPILE=1` - Run the compiler itself under valgrind
@@ -71,7 +76,7 @@
#
# * `NO_REBUILD=1` - Don't rebootstrap when testing std
# (and possibly other crates)
-# * `NO_MKFILE_DEPS=1` - Don rebuild for modified .mk files
+# * `NO_MKFILE_DEPS=1` - Don't rebuild for modified .mk files
#
# * `SAVE_TEMPS=1` - Use `--save-temps` flag on all `rustc` invocations
# * `ASM_COMMENTS=1` - Use `-Z asm-comments`
@@ -79,19 +84,30 @@
# * `TIME_LLVM_PASSES=1` - Use `-Z time-llvm-passes`
# * `TRACE=1` - Use `-Z trace`
#
+# # Rust recipes for build system success
+#
+# // Modifying libstd? Use this comment to run unit tests just on your change
+# make check-stage1-std NO_REBUILD=1 NO_BENCH=1
+#
+# // Added a run-pass test? Use this to test running your test
+# make check-stage1-rpass TESTNAME=my-shiny-new-test
+#
+# // Having trouble figuring out which test is failing? Turn off parallel tests
+# make check-stage1-std RUST_TEST_TASKS=1
+#
# This is hardly all there is to know of The Rust Build System's
# mysteries. The tale continues on the wiki[1][2].
#
-# [1]: https://github.com/mozilla/rust/wiki/Note-build-system
-# [2]: https://github.com/mozilla/rust/wiki/Note-testsuite
+# [1]: https://github.com/rust-lang/rust/wiki/Note-build-system
+# [2]: https://github.com/rust-lang/rust/wiki/Note-testsuite
#
-# Unless you feel like getting your hands dirty, then:
+# If you really feel like getting your hands dirty, then:
#
-# don't type `make nitty-gritty`
+# run `make nitty-gritty`
#
-#
+#
#
-#
+#
#
# # The Rust Build System
#
@@ -140,12 +156,12 @@
# libraries are managed and versioned without polluting the common
# areas of the filesystem.
#
-# General rust binaries may stil live in the host bin directory; they
+# General rust binaries may still live in the host bin directory; they
# will just link against the libraries in the target lib directory.
#
# Admittedly this is a little convoluted.
#
-#
+#
#
######################################################################
@@ -161,10 +177,10 @@ include config.mk
# Just a few macros used everywhere
include $(CFG_SRC_DIR)mk/util.mk
-# All crates and their dependencies
-include $(CFG_SRC_DIR)mk/crates.mk
# Reconfiguring when the makefiles or submodules change
include $(CFG_SRC_DIR)mk/reconfig.mk
+# All crates and their dependencies
+include $(CFG_SRC_DIR)mk/crates.mk
# Various bits of setup, common macros, and top-level rules
include $(CFG_SRC_DIR)mk/main.mk
# C and assembly components that are not LLVM
@@ -186,16 +202,6 @@ include $(CFG_SRC_DIR)mk/llvm.mk
# Secondary makefiles, conditionalized for speed
######################################################################
-# Source and binary distribution artifacts
-ifneq ($(strip $(findstring dist,$(MAKECMDGOALS)) \
- $(findstring check,$(MAKECMDGOALS)) \
- $(findstring test,$(MAKECMDGOALS)) \
- $(findstring tidy,$(MAKECMDGOALS)) \
- $(findstring clean,$(MAKECMDGOALS))),)
- CFG_INFO := $(info cfg: including dist rules)
- include $(CFG_SRC_DIR)mk/dist.mk
-endif
-
# Binary snapshots
ifneq ($(strip $(findstring snap,$(MAKECMDGOALS)) \
$(findstring clean,$(MAKECMDGOALS))),)
@@ -210,6 +216,7 @@ ifneq ($(strip $(findstring check,$(MAKECMDGOALS)) \
$(findstring tidy,$(MAKECMDGOALS))),)
CFG_INFO := $(info cfg: including test rules)
include $(CFG_SRC_DIR)mk/tests.mk
+ include $(CFG_SRC_DIR)mk/grammar.mk
endif
# Performance and benchmarking
@@ -218,18 +225,34 @@ ifneq ($(findstring perf,$(MAKECMDGOALS)),)
include $(CFG_SRC_DIR)mk/perf.mk
endif
-# Cleaning
-ifneq ($(findstring clean,$(MAKECMDGOALS)),)
- CFG_INFO := $(info cfg: including clean rules)
- include $(CFG_SRC_DIR)mk/clean.mk
+# Copy all the distributables to another directory for binary install
+ifneq ($(strip $(findstring prepare,$(MAKECMDGOALS)) \
+ $(findstring dist,$(MAKECMDGOALS)) \
+ $(findstring install,$(MAKECMDGOALS))),)
+ CFG_INFO := $(info cfg: including prepare rules)
+ include $(CFG_SRC_DIR)mk/prepare.mk
+endif
+
+# Source and binary distribution artifacts
+ifneq ($(strip $(findstring dist,$(MAKECMDGOALS)) \
+ $(findstring install,$(MAKECMDGOALS)) \
+ $(findstring clean,$(MAKECMDGOALS))),)
+ CFG_INFO := $(info cfg: including dist rules)
+ include $(CFG_SRC_DIR)mk/dist.mk
endif
-# Installation from the build directory
+# (Unix) Installation from the build directory
ifneq ($(findstring install,$(MAKECMDGOALS)),)
CFG_INFO := $(info cfg: including install rules)
include $(CFG_SRC_DIR)mk/install.mk
endif
+# Cleaning
+ifneq ($(findstring clean,$(MAKECMDGOALS)),)
+ CFG_INFO := $(info cfg: including clean rules)
+ include $(CFG_SRC_DIR)mk/clean.mk
+endif
+
# CTAGS building
ifneq ($(strip $(findstring TAGS.emacs,$(MAKECMDGOALS)) \
$(findstring TAGS.vi,$(MAKECMDGOALS))),)