diff options
author | Ian Lynagh <igloo@earth.li> | 2008-08-10 14:20:26 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2008-08-10 14:20:26 +0000 |
commit | 5a82864902fc01cf8eee847fcf4ee88e74aa535d (patch) | |
tree | 8aec458db31e0092bbd78d8c327b1e7616a27b5b /compiler/Makefile | |
parent | ade868e91748767177bad2d94aef6b43f5893ad9 (diff) | |
download | haskell-5a82864902fc01cf8eee847fcf4ee88e74aa535d.tar.gz |
Make "make clean" in compiler/ only clean the stage we want to clean
If you "make clean" in the root then we still clean all stages
Diffstat (limited to 'compiler/Makefile')
-rw-r--r-- | compiler/Makefile | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/compiler/Makefile b/compiler/Makefile index c0f703ebea..ca3f96e83f 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -56,12 +56,6 @@ stage3 :: $(MAKE) stage=3 clean distclean:: - -$(CABAL) clean --distpref dist-stage1 - -$(CABAL) clean --distpref dist-stage2 - -$(CABAL) clean --distpref dist-stage3 - $(RM) -f Makefile-stage1 - $(RM) -f Makefile-stage2 - $(RM) -f Makefile-stage3 $(RM) -f prelude/primops.txt $(RM) -f $(PRIMOP_BITS) $(RM) -f $(CONFIG_HS) @@ -69,6 +63,16 @@ clean distclean:: $(RM) -rf stage1 stage2plus $(RM) -f $(STAGE3_PACKAGE_CONF) +ifeq "$(CLEAN_ALL_STAGES)" "YES" +clean distclean:: clean.stage.1 clean.stage.2 clean.stage.3 +else +clean distclean:: clean.stage.$(stage) +endif + +clean.stage.%: + -$(CABAL) clean --distpref dist-stage$* + $(RM) -f Makefile-stage$* + CONFIGURE_FLAGS_STAGE1 += --flags=stage1 CONFIGURE_FLAGS_STAGE2 += --flags=-stage1 |