makefile: add an as-is target

The `as-is` target is like the default target, but it skips package
update and installation, so it's suitable for rebuilding after local
changes that might include changes to the core.
This commit is contained in:
Matthew Flatt 2015-01-02 21:38:57 -07:00
parent e2f1ede981
commit 513cee5e20
2 changed files with 25 additions and 0 deletions

View File

@ -145,6 +145,13 @@ makefile and the `raco setup' part, use
which recurs with `make -j <n> JOB_OPTIONS="-j <n>"'. Setting `CPUS'
also works with `make unix-style'.
Use `make as-is' (or `nmake win32-as-is') to perform the same build
actions as `make in-place`, but without consulting any package
catalogs or package sources to install or update packages. In other
words, use `make as-is' to rebuild after local changes that could
include changes to the Racket core. (If you change only packages, then
`raco setup' should suffice.)
If you need even more control over the build, carry on to "Even More
Instructions: Building Racket Pieces".

View File

@ -73,6 +73,24 @@ win32-in-place:
$(WIN32_PLAIN_RACO) setup --only-foreign-libs $(ALL_PLT_SETUP_OPTIONS)
$(WIN32_PLAIN_RACO) setup $(ALL_PLT_SETUP_OPTIONS)
# Rebuild without consulting catalogs or package sources:
as-is:
if [ "$(CPUS)" = "" ] ; \
then $(MAKE) plain-as-is PKGS="$(PKGS)" ; \
else $(MAKE) cpus-as-is CPUS="$(CPUS)" PKGS="$(PKGS)" ; fi
cpus-as-is:
$(MAKE) -j $(CPUS) plain-as-is JOB_OPTIONS="-j $(CPUS)" PKGS="$(PKGS)"
plain-as-is:
$(MAKE) base
$(PLAIN_RACO) setup $(ALL_PLT_SETUP_OPTIONS)
win32-as-is:
$(MAKE) base
$(WIN32_PLAIN_RACO) setup $(ALL_PLT_SETUP_OPTIONS)
# ------------------------------------------------------------
# Unix-style build (Unix and Mac OS X, only)