Commit 5a828649 authored by Ian Lynagh's avatar Ian Lynagh
Browse files

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
parent ade868e9
......@@ -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
......
......@@ -76,7 +76,7 @@ $(ALL_TARGET) docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean main
echo "== $(MAKE) $@ $(MFLAGS);"; \
echo " in $(shell pwd)/$$i"; \
echo "------------------------------------------------------------------------"; \
$(MAKE) --no-print-directory -C $$i $(MFLAGS) $@; \
$(MAKE) --no-print-directory -C $$i $(MFLAGS) $@ CLEAN_ALL_STAGES=YES; \
if [ $$? -eq 0 -o $$x_on_err -eq 0 ]; \
then echo "Finished making $@ in $$i": $$?; \
else echo "Failed making $@ in $$i": $$?; exit 1; \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment