X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=d41c50194857a42fa655d3156e0ba40f9a2a732b;hb=351afa5ad7cc7012d5460c126cad4999e457a30d;hp=e2095f094122a033e6dbbcc5fba1a3ac16919b80;hpb=611b0cae64bb3403d0bac78e8a1786a4a6e5061a;p=ghc-hetmet.git diff --git a/Makefile b/Makefile index e2095f0..d41c501 100644 --- a/Makefile +++ b/Makefile @@ -101,7 +101,7 @@ ifeq "$(BIN_DIST)" "" echo "WARNING: To run the binary-dist target, you need to set BIN_DIST=1 in your build.mk" && exit 1 endif -rm -rf $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) - -rm -f $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME).tar.gz + -$(RM) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME).tar.gz @for i in $(BIN_DIST_DIRS); do \ if test -d "$$i"; then \ echo $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM); \ @@ -217,6 +217,7 @@ binary-pack:: ( cd $(BIN_DIST_TMPDIR); $(TAR) chzf $(BIN_DIST_NAME).tar.gz $(BIN_DIST_NAME) ) ifneq "$(way)" "" +.PHONY: package-way-dist package-way-dist:: ( cd $(BIN_DIST_TMPDIR); $(FIND) $(BIN_DIST_NAME)/ \( -name "*$(_way).a" -o -name "*.$(way_)hi" \) -print | xargs tar cvf $(BIN_DIST_TMPDIR)/ghc-$(ProjectVersion)-$(way)-$(TARGETPLATFORM).tar ) gzip $(BIN_DIST_TMPDIR)/ghc-$(ProjectVersion)-$(way)-$(TARGETPLATFORM).tar @@ -224,7 +225,7 @@ endif ifneq "$(way)" "" remove-way-dist:: - ( cd $(BIN_DIST_TMPDIR); $(FIND) $(BIN_DIST_NAME)/ \( -name "*$(_way).a" -o -name "*.$(way_)hi" \) -print -exec rm -f {} \; ) + ( cd $(BIN_DIST_TMPDIR); $(FIND) $(BIN_DIST_NAME)/ \( -name "*$(_way).a" -o -name "*.$(way_)hi" \) -print -exec $(RM) {} \; ) endif binary-dist:: @@ -266,7 +267,7 @@ dist :: distclean dist :: -rm -rf $(SRC_DIST_DIR) - -rm -f $(SRC_DIST_NAME).tar.gz + -$(RM) $(SRC_DIST_NAME).tar.gz mkdir $(SRC_DIST_DIR) mkdir $(SRC_DIST_DIR)/mk ( cd $(FPTOOLS_TOP_ABS); $(FIND) $(SRC_DIST_DIRS) -type d \( -name CVS -prune -o -name SRC -prune -o -print \) | sed -e 's!.*!mkdir "$(SRC_DIST_DIR)/&"!' | sh ) @@ -275,7 +276,7 @@ dist :: # Automatic generation of a MANIFEST file for a source distribution # tree that is ready to go. dist-manifest :: - cd $(SRC_DIST_DIR); $(FIND) . \( -type l -o -type f \) -exec ls -lLG {} \; | sed -e 's/\.\///' > MANIFEST.tmp ; mv MANIFEST.tmp MANIFEST + cd $(SRC_DIST_DIR); $(FIND) . \( -type l -o -type f \) -exec ls -lLG {} \; | sed -e 's/\.\///' > MANIFEST dist-package :: dist-package-tar-gz @@ -299,7 +300,7 @@ hc-file-bundle : project-check $(ProjectNameShort)-$(ProjectVersion)/libraries \ $(ProjectNameShort)-$(ProjectVersion)/hslibs \ \( -name "*.hc" -o -name "*_hsc.[ch]" -o -name "*_stub.[ch]" \) -print > hc-files-to-go - @for f in `$(FIND) $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler $(ProjectNameShort)-$(ProjectVersion)/ghc/driver $(ProjectNameShort)-$(ProjectVersion)/libraries $(ProjectNameShort)-$(ProjectVersion)/hslibs -name "*.hsc" -print` ""; do \ + for f in `$(FIND) $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler $(ProjectNameShort)-$(ProjectVersion)/ghc/driver $(ProjectNameShort)-$(ProjectVersion)/libraries $(ProjectNameShort)-$(ProjectVersion)/hslibs -name "*.hsc" -print` ""; do \ if test "x$$f" != "x" && test -e `echo "$$f" | sed 's/hsc$$/hs/g'`; then \ echo `echo "$$f" | sed 's/hsc$$/hs/g' ` >> hc-files-to-go ; \ fi; \ @@ -344,6 +345,18 @@ boot :: @echo "Please use \`make all' only from the top-level, or \`make boot' followed" @echo "by \`make all' in an individual project subdirectory (ghc, hslibs etc.)." +bootstrap : bootstrap2 +bootstrap2 : all stage2 +bootstrap3 : bootstrap2 stage3 + +stage2 : + $(MAKE) -C ghc/compiler boot stage=2 + $(MAKE) -C ghc/compiler stage=2 + +stage3 : + $(MAKE) -C ghc/compiler boot stage=3 + $(MAKE) -C ghc/compiler stage=3 + install :: @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \ for i in $(filter-out $(ProjectsDontInstall), $(SUBDIRS)); do \