Improve the size-change detection heuristics in the compare tool
[ghc.git] / distrib / Makefile
index 2b6cdca..7f8add1 100644 (file)
@@ -1,37 +1,58 @@
 
 include Makefile-vars
 
-.PHONY: in-place mk-version-symlinks install-dirs install
-
-in-place ::
-       @if test -x "./post-inplace-script" ; then \
-               echo "Running project-specific post-inplace script ..." ; \
-               ./post-inplace-script $(platform) `pwd` \
-                       $(package)-$(version); \
-               echo "Done" ; \
-       fi
-       @echo "Finished configuring..to use, add `pwd`/bin/$(platform) to your PATH."
-
-install-dirs ::
+.PHONY: install-strip install postinstall denounce show-install-setup
+
+#.PHONY: in-place
+# This has bitrotted:
+#in-place ::
+#      @if test -x "./post-inplace-script" ; then \
+#              echo "Running project-specific post-inplace script ..." ; \
+#              ./post-inplace-script $(platform) `pwd` \
+#                      $(package)-$(version); \
+#              echo "Done" ; \
+#      fi
+#      @echo "Finished configuring..to use, add `pwd`/bin/$(platform) to your PATH."
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
+
+install ::
        $(INSTALL_DIR) $(bindir)
-       (cd lib/$(platform); find . -type d -exec sh -c '$(INSTALL_DIR) $$0 $(libdir)/$$0' {} \; )
-       (cd share; find . -type d -exec sh -c '$(INSTALL_DIR) $(datadir)/$$0' {} \; )
-
-install :: install-dirs install-driver install-utils install-libs install-datas install-docs postinstall denounce
-
-.PHONY: install-libs install-utils install-datas postinstall denounce
+       $(INSTALL_DIR) $(datadir)
+       echo "[]" > $(datadir)/package.conf
+
+install::
+       $(MAKE) -C includes  install      DOING_BIN_DIST=YES
+       $(MAKE) -C utils     install      DOING_BIN_DIST=YES
+       $(MAKE) -C rts       install      DOING_BIN_DIST=YES
+       $(MAKE) -C libraries install      DOING_BIN_DIST=YES
+       $(MAKE) -C libffi    install      DOING_BIN_DIST=YES
+       $(MAKE) -C compiler  install      DOING_BIN_DIST=YES
+       $(MAKE) -C ghc       install      DOING_BIN_DIST=YES
+       $(MAKE) -C driver    install      DOING_BIN_DIST=YES
+       $(MAKE) -C gmp       install      DOING_BIN_DIST=YES
+       $(MAKE) -C docs      install-docs DOING_BIN_DIST=YES
+       $(MAKE) -C libraries/Cabal/doc install-docs DOING_BIN_DIST=YES
+       $(INSTALL_DATA) $(INSTALL_OPTS) settings $(libdir)
+
+install :: postinstall denounce
+
+# Look to see if $(bindir) is in $(PATH). Assumes there are no funky
+# characters.
+GREPPED_PATH=$(shell echo ":$(PATH):" | grep ":$(bindir):")
 
 denounce:
        @echo
        @echo =======================================================================
        @echo Installation of $(package)-$(version) was successful.
        @echo
+ifeq "$(GREPPED_PATH)" ""
        @echo To use, add $(bindir) to your PATH.
        @echo
-       @if test -f share/html/index.html; then \
+endif
+       @if test -f $(htmldir)/index.html; then \
           echo For documentation, see $(htmldir)/index.html ; \
-       elif test -d share/html ; then \
-          echo Docs can be found in $(htmldir). ; \
        else \
           echo "Warning: this binary distribution does NOT contain documentation!" ; \
        fi
@@ -44,41 +65,9 @@ postinstall:
                echo "Done" ; \
        fi
 
-install-libs:
-       (cd lib/$(platform); find . -type f -exec sh -c '$(CP) $$0 $(libdir)/$$0' {} \; )
-       $(MAKE) -C libraries install DOING_BIN_DIST=YES
-
-install-driver:
-       $(MAKE) -C driver install DOING_BIN_DIST=YES
-
-install-utils:
-       $(MAKE) -C utils install DOING_BIN_DIST=YES
-
-install-datas:
-       set -e; for i in `(cd share; find . -type f )`; do \
-          $(INSTALL_DATA) share/$$i $(datadir)/$$i; \
-       done
-
 show-install-setup:
        @echo "Install setup..."
        @echo "bindir  = $(bindir)"
        @echo "libdir  = $(libdir) (libdir  = $(libdir))"
        @echo "datadir = $(datadir) (datadir = $(datadir))"
 
-#
-# Documentation targets: install-docs.
-#
-
-.PHONY: show-install-setup install-docs install-dirs-docs
-
-install-docs : install-dirs-docs
-       if test -d share/html ; then $(CP) -r share/html/* $(htmldir) ; fi
-       set -e; for i in share/*.ps; do \
-               if test -f "$$i"; then \
-                     $(CP) $$i $(psdir) ; \
-               fi \
-       done
-
-install-dirs-docs:
-       $(INSTALL_DIR) $(htmldir) 
-