[project @ 1998-06-11 10:09:02 by sof]
[ghc-hetmet.git] / distrib / Makefile-bin.in
index 199145b..fdfdb6a 100644 (file)
@@ -181,26 +181,20 @@ config-pkgs ::
          fi; \
        done
 
-
-mk-version-symlinks ::
-       @for i in $(VERSION_SYMLINKS_FOR) ""; do \
-         if [ "x$$i" != "x" ]; then \
-            echo "Symlinking $$i to $$i-$(version)"; \
-            (cd bin/$(platform)/$(package)-$(version); $(RM) $$i-$(version); $(LN_S) $$i $$i-$(version) ); \
-         fi;\
-       done
+# Convert pwd's UNC reported path into DOS style
+# (cygwin32 only.)
+CURRENT_DIR = $(shell pwd | sed 's|^//\(.\)|\1:|' )
 
 in-place ::
-       $(MAKE) $(MFLAGS) config-pkgs bindir=`pwd`/bin/$(platform)/$(package)-$(version) libdir=`pwd`/lib/$(platform) datadir=`pwd`/share/$(package)-$(version)
-       $(MAKE) $(MFLAGS) mk-version-symlinks
-       @echo "Finished configuring..to use, add `pwd`/bin/$(platform)/$(package)-$(version) to your PATH."
+       $(MAKE) $(MFLAGS) config-pkgs bindir=$(CURRENT_DIR)/bin/$(platform)/$(package)-$(version) libdir=$(CURRENT_DIR)/lib/$(platform) datadir=$(CURRENT_DIR)/share/$(package)-$(version)
+       @echo "Finished configuring..to use, add $(CURRENT_DIR)/bin/$(platform)/$(package)-$(version) to your PATH."
 
 install-dirs ::
        $(INSTALL_DIR) $(bindir)
        (cd lib/$(platform)/$(package)-$(version); find . -type d -exec sh -c '../../../$(INSTALL_DIR) $$0 $(real_libdir)/$$0' {} \; )
        (cd share/$(package)-$(version); find . -type d -exec sh -c '../../$(INSTALL_DIR) $(real_datadir)/$$0' {} \; )
 
-install :: config-pkgs mk-version-symlinks install-dirs install-bin install-libs install-datas
+install :: config-pkgs install-dirs install-bin install-libs install-datas
 
 .PHONY: install-bin install-libs install-datas
 
@@ -211,9 +205,15 @@ install-bin:
        for i in $(VERSION_SYMLINKS_FOR) ""; do \
           if [ "x$$i" != "x" ]; then           \
                ( cd $(bindir);                 \
-                 $(RM) $$i-$(version);         \
-                 $(MV) $$i $$i-$(version);     \
-                 $(LN_S) $$i-$(version) $$i    \
+                 if ( $(PERL) -e '$$fn="'$$i'"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \
+                    echo "Creating a symbol link from $$i-$(version) to $$i"; \
+                    $(RM) $$i; \
+                    $(LN_S) $$i-$(version) $$i; \
+                 else \
+                    echo "Creating a symbol link from $$i-$(version) to $$i failed: \`$$i' already exists"; \
+                    echo "Perhaps remove \`$$i' manually?"; \
+                    exit 1; \
+                 fi;\
                );                              \
           fi;                                  \
        done