# most intimate workings of the compiler itself, you've come to the
# right place. Let's see what's on the menu.
#
+# Please note that most of these options only work if configure was
+# run with --disable-rustbuild. For documentation on the new build
+# system, see CONTRIBUTING.md.
+#
# First, start with one of these build targets:
#
# * all - The default. Build a complete, bootstrapped compiler.
# * tidy - Basic style check, show highest rustc error code and
# the status of language and lib features
# * rustc-stage$(stage) - Only build up to a specific stage
+# * $host/stage1/bin/rustc - Only build stage1 rustc, not libstd. For further
+# information see "Rust recipes for build system success" below.
#
# Then mix in some of these environment variables to harness the
# ultimate power of The Rust Build System.
# // Modifying libstd? Use this command to run unit tests just on your change
# make check-stage1-std NO_REBUILD=1 NO_BENCH=1
#
+# // Modifying just rustc?
+# // Compile rustc+libstd once
+# make rustc-stage1
+# // From now on use this command to rebuild just rustc and reuse the previously built libstd
+# // $host is a target triple, eg. x86_64-unknown-linux-gnu
+# // The resulting binary is located at $host/stage1/bin/rustc.
+# // If there are any issues with libstd recompile it with the command above.
+# make $host/stage1/bin/rustc
+#
# // Added a run-pass test? Use this to test running your test
# make check-stage1-rpass TESTNAME=my-shiny-new-test
#
# CTAGS building
ifneq ($(strip $(findstring TAGS.emacs,$(MAKECMDGOALS)) \
- $(findstring TAGS.vi,$(MAKECMDGOALS))),)
+ $(findstring TAGS.vi,$(MAKECMDGOALS)) \
+ $(findstring TAGS.rustc.emacs,$(MAKECMDGOALS)) \
+ $(findstring TAGS.rustc.vi,$(MAKECMDGOALS))),)
CFG_INFO := $(info cfg: including ctags rules)
include $(CFG_SRC_DIR)mk/ctags.mk
endif