[project @ 1999-07-14 13:26:48 by simonmar]
[ghc-hetmet.git] / ghc / utils / mkdependHS / Makefile
index 7473e52..6f8fe79 100644 (file)
@@ -1,9 +1,63 @@
-TOP=../../..
-include $(TOP)/ghc/mk/ghc.mk
+TOP=../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/version.mk
+INSTALLING=0
 
-PROG=mkdependHS
-SRC=mkdependHS.prl
-INTERP=$(PERL)
-DESTDIR=$(INSTBINDIR_GHC)
+boot :: all
 
-include $(TOP)/mk/script.mk
+SCRIPT_PROG=mkdependHS
+SCRIPT_OBJS=mkdependHS.prl
+SCRIPT_SUBST_VARS= \
+ TOP_PWD \
+ INSTALLING \
+ RAWCPP \
+ HscIfaceFileVersion
+
+INTERP=perl
+
+#
+# install setup
+#
+INSTALL_LIB_SCRIPTS += $(SCRIPT_PROG)
+
+ifneq "$(BIN_DIST)" "1"
+SCRIPT_SUBST_VARS += libdir datadir TMPDIR SED
+endif
+
+
+#
+# Prepend an infomercial if installing (binary-dist or the real thing).
+#
+ifeq "$(INSTALLING)" "1"
+ifeq "$(BIN_DIST)" "1"
+SCRIPT_PREFIX_FILES += prefix.txt
+endif
+endif
+
+ifeq "$(INSTALLING)" "1"
+TOP_PWD:=$(prefix)
+else
+TOP_PWD:=$(FPTOOLS_TOP_ABS)
+endif
+
+#
+# Before really installing the script, we have to
+# reconfigure it such that the paths it refers to,
+# point to the installed utils.
+#
+install ::
+       $(RM) $(SCRIPT_PROG)
+       $(MAKE) $(MFLAGS) INSTALLING=1 $(SCRIPT_PROG)
+
+CLEAN_FILES += $(SCRIPT_PROG) $(SCRIPT_LINK)
+
+include $(TOP)/mk/target.mk
+
+#
+# Hack to re-create the in-situ build tree script after 
+# having just installed it (if you don't, confusion ensues
+# if you try to use the build tree copy afterwards..)
+#
+install ::
+       @$(RM) $(SCRIPT_PROG)
+       @$(MAKE) $(MFLAGS) BIN_DIST=0 INSTALLING=0 $(SCRIPT_PROG)