Make it so that 'make boot' is optional in the testsuite
authorSimon Marlow <simonmar@microsoft.com>
Sat, 16 Sep 2006 07:50:35 +0000 (07:50 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Sat, 16 Sep 2006 07:50:35 +0000 (07:50 +0000)
mk/wordsize.mk and timeout/timeout get built automatically if necessary.

testsuite/Makefile
testsuite/README
testsuite/mk/test.mk

index 61c0691..9359a3c 100644 (file)
@@ -5,12 +5,7 @@ SUBDIRS = timeout
 
 CLEAN_FILES += mk/wordsize.mk
 
-all :: boot
-       @echo "To run the tests, go into tests/ghc-regress and say \`make'."
-       @echo "More information about configuring and running the testsuite"
-       @echo "can be found in the file \`README' in this directory."
-
-boot ::
-       $(CPP) $(RAWCPP_FLAGS) -x c mk/wordsize.mk.in > mk/wordsize.mk
+all ::
+       cd tests/ghc-regress && $(MAKE) $(MFLAGS)
 
 include $(TOP)/mk/target.mk
index f428cfe..2cb3d8f 100644 (file)
@@ -5,13 +5,7 @@ NOTE: you need Python (any version >= 1.5 will probably do) in order
 to use the testsuite.
 
 To run the test suite against stage 1 of a GHC build in the same
-source tree, first:
-
-        cd testsuite
-        make boot
-
-This sets up the testsuite and builds the timeout tool which is used
-when running tests.  Then:
+source tree:
 
        cd tests/ghc-regress
        make
index 24d7700..29889d3 100644 (file)
@@ -19,6 +19,9 @@
 
 include $(TOP)/mk/wordsize.mk
 
+$(TOP)/mk/wordsize.mk : $(TOP)/mk/wordsize.mk.in
+       $(CPP) $(RAWCPP_FLAGS) -x c $(TOP)/mk/wordsize.mk.in > $(TOP)/mk/wordsize.mk
+
 ifeq "$(PYTHON)" ""
 $(error Python must be installed in order to use the testsuite)
 endif
@@ -120,7 +123,13 @@ WAY =
 
 all :: test
 
-test:
+timeout : $(TOP)/timeout/timeout$(exeext)
+
+$(TOP)/timeout/timeout$(exeext) :
+       @echo "Looks like you don't have timeout, building it first..."
+       cd $(TOP)/timeout && $(MAKE) $(MFLAGS) all
+
+test: timeout
        $(PYTHON) $(RUNTESTS) $(RUNTEST_OPTS) \
                $(patsubst %, --only=%, $(TEST)) \
                $(patsubst %, --only=%, $(TESTS)) \