micro-opt: replace stmGetEnclosingTRec() with a field access
[ghc-hetmet.git] / rules / shell-wrapper.mk
index a2aca45..9535a7d 100644 (file)
@@ -1,10 +1,22 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+#      http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+#      http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
 define shell-wrapper
 # $1 = dir
 # $2 = distdir
 
 ifeq "$$($1_$2_SHELL_WRAPPER)" "YES"
 
-ifeq "$(Windows)" "YES"
+ifeq "$$(Windows)" "YES"
 
 ifeq "$$($1_$2_INSTALL_SHELL_WRAPPER)" "YES"
 # Just install the binary on Windows
@@ -21,11 +33,12 @@ ifneq "$$($1_$2_INSTALL_INPLACE)" "NO"
 all_$1_$2 : $$(INPLACE_BIN)/$$($1_$2_PROG)
 
 $$(INPLACE_BIN)/$$($1_$2_PROG): $$($1_$2_INPLACE)
-       $$(RM) -f                                         $$@
+       "$$(RM)" $$(RM_OPTS)                              $$@
        echo '#!$$(SHELL)'                             >> $$@
-       echo 'executablename=$$(TOP)/$$<'  >> $$@
-       echo 'datadir=$$(TOP)/$$(INPLACE_LIB)' >> $$@
-       echo 'bindir=$$(TOP)/$$(INPLACE_BIN)'  >> $$@
+       echo 'executablename=$$(TOP)/$$<'              >> $$@
+       echo 'datadir=$$(TOP)/$$(INPLACE_LIB)'         >> $$@
+       echo 'bindir=$$(TOP)/$$(INPLACE_BIN)'          >> $$@
+       echo 'topdir=$$(TOP)/$$(INPLACE_TOPDIR)'       >> $$@
        cat $$($1_$2_SHELL_WRAPPER_NAME)               >> $$@
        $$(EXECUTABLE_FILE)                               $$@
 endif
@@ -45,14 +58,16 @@ install: install_$1_$2_wrapper
 .PHONY: install_$1_$2_wrapper
 install_$1_$2_wrapper: WRAPPER=$$(DESTDIR)$$(bindir)/$$($1_$2_INSTALL_SHELL_WRAPPER_NAME)
 install_$1_$2_wrapper:
-       $$(MKDIRHIER) $$(DESTDIR)$$(bindir)
-       $$(RM) -f                                      $$(WRAPPER)
-       echo '#!$$(SHELL)'                          >> $$(WRAPPER)
-       echo 'executablename=$$(libexecdir)/$$($1_$2_PROG)' >> $$(WRAPPER)
-       echo 'datadir=$$(datadir)'                  >> $$(WRAPPER)
-       echo 'bindir=$$(bindir)'                    >> $$(WRAPPER)
-       cat $$($1_$2_SHELL_WRAPPER_NAME)            >> $$(WRAPPER)
-       $$(EXECUTABLE_FILE)                            $$(WRAPPER)
+       $$(INSTALL_DIR) $$(DESTDIR)$$(bindir)
+       "$$(RM)" $$(RM_OPTS)                                      $$(WRAPPER)
+       $$(CREATE_SCRIPT)                                         $$(WRAPPER)
+       echo '#!$$(SHELL)'                                     >> $$(WRAPPER)
+       echo 'executablename=$$(ghclibexecdir)/$$($1_$2_PROG)' >> $$(WRAPPER)
+       echo 'datadir=$$(datadir)'                             >> $$(WRAPPER)
+       echo 'bindir=$$(bindir)'                               >> $$(WRAPPER)
+       echo 'topdir=$$(topdir)'                               >> $$(WRAPPER)
+       cat $$($1_$2_SHELL_WRAPPER_NAME)                       >> $$(WRAPPER)
+       $$(EXECUTABLE_FILE)                                       $$(WRAPPER)
 
 endif # $1_$2_INSTALL_SHELL_WRAPPER