summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2007-05-31 14:35:05 +0000
committerIan Lynagh <igloo@earth.li>2007-05-31 14:35:05 +0000
commit430453c5131592b6147a80202dc5f7fbe3f3d5fd (patch)
tree9c7cdf6b13a8586dfa653bb9ff393da5640d2599 /utils
parentad9d754d2b18d4dd027884e082c20777a29ef7d4 (diff)
downloadhaskell-430453c5131592b6147a80202dc5f7fbe3f3d5fd.tar.gz
Rework the build system a bit
Key changes: * Always build as if BIN_DIST is 1. BIN_DIST is thus removed. * Libraries are configured with prefix set to $$topdir rather than $(prefix)
Diffstat (limited to 'utils')
-rw-r--r--utils/ghc-pkg/Makefile79
-rw-r--r--utils/ghc-pkg/ghc-pkg.sh2
-rw-r--r--utils/hsc2hs/Makefile102
-rw-r--r--utils/hstags/Makefile8
-rw-r--r--utils/mkdependC/Makefile20
-rw-r--r--utils/mkdirhier/Makefile11
-rw-r--r--utils/parallel/Makefile60
-rw-r--r--utils/prof/Makefile56
-rw-r--r--utils/prof/ghcprof.prl11
-rw-r--r--utils/runstdtest/Makefile17
-rw-r--r--utils/stat2resid/Makefile15
11 files changed, 146 insertions, 235 deletions
diff --git a/utils/ghc-pkg/Makefile b/utils/ghc-pkg/Makefile
index 6a4dbcf253..e4c8b74948 100644
--- a/utils/ghc-pkg/Makefile
+++ b/utils/ghc-pkg/Makefile
@@ -1,9 +1,6 @@
TOP=../..
include $(TOP)/mk/boilerplate.mk
-# hack for ghci-inplace script, see below
-INSTALLING=1
-
# -----------------------------------------------------------------------------
# ghc-pkg.bin
@@ -53,60 +50,36 @@ DIST_CLEAN_FILES += $(VERSION_HS)
# -----------------------------------------------------------------------------
# ghc-pkg script
-ifeq "$(INSTALLING)" "1"
-ifeq "$(BIN_DIST)" "1"
-GHCPKGBIN=$$\"\"libexecdir/$(HS_PROG)
-PKGCONF=$$\"\"libdir/package.conf
-else
-GHCPKGBIN=$(libexecdir)/$(HS_PROG)
-PKGCONF=$(libdir)/package.conf
-endif # BIN_DIST
+ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
+# See "MSys Note 3" in compiler/Makefile
+INPLACE_SCRIPT=ghc-pkg-inplace.bat
+all::
+ $(RM) -f $(INPLACE_SCRIPT)
+ echo '@call $(subst /,\,$(FPTOOLS_TOP_ABS_PLATFORM)/utils/ghc-pkg/$(HS_PROG)) --global-conf $(FPTOOLS_TOP_ABS_PLATFORM)/driver/package.conf.inplace %*' >> $(INPLACE_SCRIPT)
+ $(EXECUTABLE_FILE) $(INPLACE_SCRIPT)
else
-GHCPKGBIN=$(FPTOOLS_TOP_ABS)/utils/ghc-pkg/$(HS_PROG)
-PKGCONF=$(FPTOOLS_TOP_ABS_PLATFORM)/driver/package.conf.inplace
-endif
-
-ifneq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
-INSTALLED_SCRIPT_PROG = ghc-pkg-$(ProjectVersion)
-endif
-INPLACE_SCRIPT_PROG = ghc-pkg-inplace
-
-SCRIPT_OBJS = ghc-pkg.sh
-INTERP = $(SHELL)
-SCRIPT_SUBST_VARS = GHCPKGBIN PKGCONFOPT
-ifneq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
-INSTALL_SCRIPTS += $(SCRIPT_PROG)
+INPLACE_SCRIPT=ghc-pkg-inplace
+all::
+ $(RM) -f $(INPLACE_SCRIPT)
+ echo "#!$(SHELL)" >> $(INPLACE_SCRIPT)
+ echo "GHCPKGBIN=$(FPTOOLS_TOP_ABS)/utils/ghc-pkg/$(HS_PROG)" >> $(INPLACE_SCRIPT)
+ echo "PKGCONF=$(FPTOOLS_TOP_ABS_PLATFORM)/driver/package.conf.inplace" >> $(INPLACE_SCRIPT)
+ echo 'exec $$GHCPKGBIN --global-conf $$PKGCONF $${1+"$$@"}' >> $(INPLACE_SCRIPT)
+ $(EXECUTABLE_FILE) $(INPLACE_SCRIPT)
endif
-PKGCONFOPT = --global-conf $(PKGCONF)
+CLEAN_FILES += $(INPLACE_SCRIPT)
-ifeq "$(INSTALLING)" "1"
-SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG)
ifneq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
-LINK = ghc-pkg
-endif
-else
-SCRIPT_PROG = $(INPLACE_SCRIPT_PROG)
-endif
-
-# -----------------------------------------------------------------------------
-# don't recurse on 'make install'
-#
-ifeq "$(INSTALLING)" "1"
-all :: $(HS_PROG)
- $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@
-clean distclean maintainer-clean ::
- $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@
-endif
-
-ifeq "$(INSTALLING)$(HOSTPLATFORM)" "0i386-unknown-mingw32"
-all :: $(INPLACE_SCRIPT_PROG).bat
-
-# See "MSys Note 3" in compiler/Makefile
-$(INPLACE_SCRIPT_PROG).bat :
- echo '@call $(subst /,\,$(FPTOOLS_TOP_ABS_PLATFORM)/utils/ghc-pkg/$(HS_PROG)) --global-conf $(PKGCONF) %*' >> $@
- chmod 755 $@
-
-CLEAN_FILES += $(INPLACE_SCRIPT_PROG).bat
+LINK = ghc-pkg
+LINK_TARGET = $(LINK)-$(ProjectVersion)
+INSTALLED_SCRIPT=$(bindir)/$(LINK_TARGET)
+install::
+ $(RM) -f $(INSTALLED_SCRIPT)
+ echo "#!$(SHELL)" >> $(INSTALLED_SCRIPT)
+ echo "GHCPKGBIN=$(libexecdir)/$(HS_PROG)" >> $(INSTALLED_SCRIPT)
+ echo "PKGCONF=$(libdir)/package.conf" >> $(INSTALLED_SCRIPT)
+ echo 'exec $$GHCPKGBIN --global-conf $$PKGCONF $${1+"$$@"}' >> $(INSTALLED_SCRIPT)
+ $(EXECUTABLE_FILE) $(INSTALLED_SCRIPT)
endif
# ghc-pkg is needed to boot in rts/ and library dirs
diff --git a/utils/ghc-pkg/ghc-pkg.sh b/utils/ghc-pkg/ghc-pkg.sh
deleted file mode 100644
index d482fc094e..0000000000
--- a/utils/ghc-pkg/ghc-pkg.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Mini-driver for ghc-pkg
-exec $GHCPKGBIN $PKGCONFOPT ${1+"$@"}
diff --git a/utils/hsc2hs/Makefile b/utils/hsc2hs/Makefile
index 07e574c0ac..38be1f4d71 100644
--- a/utils/hsc2hs/Makefile
+++ b/utils/hsc2hs/Makefile
@@ -5,8 +5,6 @@
TOP=../..
include $(TOP)/mk/boilerplate.mk
-INSTALLING=1
-
# This causes libghccompat.a to be used:
include $(GHC_COMPAT_DIR)/compat.mk
@@ -28,77 +26,57 @@ endif
# clean solution impossible. So we revert to a hack in Main.hs...
SRC_HC_OPTS += -Wall
-ifneq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
-INSTALLED_SCRIPT_PROG = hsc2hs-ghc
-endif
-INPLACE_SCRIPT_PROG = hsc2hs-inplace
-
-ifeq "$(INSTALLING)" "1"
-TOP_PWD := $(prefix)
-SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG)
-else
-TOP_PWD := $(FPTOOLS_TOP_ABS)
-SCRIPT_PROG = $(INPLACE_SCRIPT_PROG)
-endif
-
-ifeq "$(INSTALLING)" "1"
-ifeq "$(BIN_DIST)" "1"
-HSC2HS_BINDIR=$$\"\"libexecdir
-HSC2HS_DIR=$$\"\"libdir
-HSC2HS_EXTRA=
-else
-HSC2HS_BINDIR=$(libexecdir)
-HSC2HS_DIR=$(libdir)
-HSC2HS_EXTRA=--cc=$(bindir)/ghc-$(ProjectVersion)
-endif # BIN_DIST
-else
-HSC2HS_BINDIR=$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)
-HSC2HS_DIR=$(FPTOOLS_TOP_ABS_PLATFORM)/$(GHC_HSC2HS_DIR_REL)
+# -----------------------------------------------------------------------------
+# hsc2hs script
ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
extra_flags=$(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS)))
endif
+HSC2HS_INPLACE_EXTRA=--cc=$(CC) --ld=$(CC) $(extra_flags) --cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt) -I$(FPTOOLS_TOP_ABS_PLATFORM)/$(GHC_INCLUDE_DIR_REL)
-HSC2HS_EXTRA=--cc=$(CC) --ld=$(CC) $(extra_flags) --cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt) -I$(FPTOOLS_TOP_ABS_PLATFORM)/$(GHC_INCLUDE_DIR_REL)
+ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
+# See "MSys Note 3" in compiler/Makefile
+INPLACE_SCRIPT=hsc2hs-inplace.bat
+FULL_INPLACE_PATH=$(subst /,\,$(FPTOOLS_TOP_ABS_PLATFORM)/utils/hsc2hs/)
+all::
+ $(RM) -f $(INPLACE_SCRIPT)
+ echo '@call $(FULL_INPLACE_PATH)$(HS_PROG)) ----template=$(FULL_INPLACE_PATH)template-hsc.h $(HSC2HS_EXTRA) %*' >> $(INPLACE_SCRIPT)
+ $(EXECUTABLE_FILE) $(INPLACE_SCRIPT)
+else
+INPLACE_SCRIPT=hsc2hs-inplace
+all::
+ $(RM) -f $(INPLACE_SCRIPT)
+ echo "#!$(SHELL)" >> $(INPLACE_SCRIPT)
+ echo "HSC2HS_BINDIR=$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)" >> $(INPLACE_SCRIPT)
+ echo "HSC2HS_DIR=$(FPTOOLS_TOP_ABS_PLATFORM)/$(GHC_HSC2HS_DIR_REL)" >> $(INPLACE_SCRIPT)
+ echo "HS_PROG=$(HS_PROG)" >> $(INPLACE_SCRIPT)
+ echo "HSC2HS_EXTRA=$(HSC2HS_INPLACE_EXTRA)" >> $(INPLACE_SCRIPT)
+ cat hsc2hs.sh >> $(INPLACE_SCRIPT)
+ $(EXECUTABLE_FILE) $(INPLACE_SCRIPT)
endif
+CLEAN_FILES += $(INPLACE_SCRIPT)
-$(SCRIPT_PROG) : Makefile
-$(INSTALLED_SCRIPT_PROG) : $(TOP)/mk/config.mk
-
-SCRIPT_SUBST_VARS = HSC2HS_BINDIR HSC2HS_DIR HS_PROG HSC2HS_EXTRA
-
-SCRIPT_OBJS=hsc2hs.sh
-INTERP=$(SHELL)
-
-ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-INSTALL_SCRIPTS += $(SCRIPT_PROG)
-INSTALL_LIBEXECS += $(HS_PROG)
-else
+ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
INSTALL_PROGS += $(HS_PROG)
+else
+INSTALL_LIBEXECS += $(HS_PROG)
+LINK = hsc2hs
+LINK_TARGET = $(LINK)-$(ProjectVersion)
+INSTALLED_SCRIPT=$(bindir)/$(LINK_TARGET)
+install::
+ $(RM) -f $(INSTALLED_SCRIPT)
+ echo "#!$(SHELL)" >> $(INSTALLED_SCRIPT)
+ echo "HSC2HS_BINDIR=$(libexecdir)" >> $(INSTALLED_SCRIPT)
+ echo "HSC2HS_DIR=$(libdir)" >> $(INSTALLED_SCRIPT)
+ echo "HS_PROG=$(HS_PROG)" >> $(INSTALLED_SCRIPT)
+ echo "HSC2HS_EXTRA=" >> $(INSTALLED_SCRIPT)
+ cat hsc2hs.sh >> $(INSTALLED_SCRIPT)
+ $(EXECUTABLE_FILE) $(INSTALLED_SCRIPT)
endif
-override datadir=$(libdir)
-INSTALL_DATAS += template-hsc.h
-
# -----------------------------------------------------------------------------
-# don't recurse on 'make install'
-#
-ifeq "$(INSTALLING)" "1"
-all :: $(HS_PROG)
- $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@
-clean distclean maintainer-clean ::
- $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@
-endif
-
-ifeq "$(INSTALLING)$(HOSTPLATFORM)" "0i386-unknown-mingw32"
-all :: $(INPLACE_SCRIPT_PROG).bat
-
-# See "MSys Note 3" in compiler/Makefile
-FULL_INPLACE_PATH=$(subst /,\,$(FPTOOLS_TOP_ABS_PLATFORM)/utils/hsc2hs/)
-$(INPLACE_SCRIPT_PROG).bat :
- echo '@call $(FULL_INPLACE_PATH)$(HS_PROG) --template=$(FULL_INPLACE_PATH)template-hsc.h $(HSC2HS_EXTRA) %*' >> $@
- chmod 755 $@
-endif
+override datadir=$(libdir)
+INSTALL_DATAS += template-hsc.h
include $(TOP)/mk/target.mk
diff --git a/utils/hstags/Makefile b/utils/hstags/Makefile
index 981bafd897..f1ce8e1320 100644
--- a/utils/hstags/Makefile
+++ b/utils/hstags/Makefile
@@ -16,10 +16,6 @@ SCRIPT_SUBST_VARS=\
TOP_PWD \
ProjectVersionInt
-ifneq "$(BIN_DIST)" "1"
-SCRIPT_SUBST_VARS += libdir libexecdir DEFAULT_TMPDIR
-endif
-
#
# The hstags script is configured with different
# set of config variables, depending on whether it
@@ -27,9 +23,7 @@ endif
#
ifeq "$(INSTALLING)" "1"
TOP_PWD := $(prefix)
-ifeq "$(BIN_DIST)" "1"
SCRIPT_PREFIX_FILES += prefix.txt
-endif
else
TOP_PWD := $(FPTOOLS_TOP_ABS)
HSP_IMPORTS:="$(TOP_PWD)/ghc/lib/ghc":"$(TOP_PWD)/ghc/lib/required":"$(TOP_PWD)/ghc/lib/glaExts":"$(TOP_PWD)/ghc/lib/concurrent"
@@ -66,5 +60,5 @@ include $(TOP)/mk/target.mk
#
install ::
@$(RM) $(SCRIPT_PROG)
- @$(MAKE) $(MFLAGS) BIN_DIST=0 $(SCRIPT_PROG)
+ @$(MAKE) $(MFLAGS) $(SCRIPT_PROG)
diff --git a/utils/mkdependC/Makefile b/utils/mkdependC/Makefile
index 9b07685bb3..9c00c09018 100644
--- a/utils/mkdependC/Makefile
+++ b/utils/mkdependC/Makefile
@@ -7,15 +7,15 @@ include $(TOP)/mk/boilerplate.mk
boot :: all
-SCRIPT_PROG=mkdependC
-SCRIPT_OBJS=mkdependC.prl
-#
-# Prepend (perl) bindings for these Makefile variables
-# when creating `mkdependC' (a more flexible way of doing msub).
-#
-SCRIPT_SUBST_VARS=DEFAULT_TMPDIR CPP BUILDPLATFORM
-
-CLEAN_FILES += $(SCRIPT_PROG)
-INTERP=perl
+PROG=mkdependC
+CLEAN_FILES += $(PROG)
+all::
+ $(RM) -f $(PROG)
+ echo '#!$(PERL)' >> $(PROG)
+ echo '$$DEFAULT_TMPDIR = "$(DEFAULT_TMPDIR)";' >> $(PROG)
+ echo '$$CPP = "$(CPP)";' >> $(PROG)
+ echo '$$BUILDPLATFORM = "$(BUILDPLATFORM)";' >> $(PROG)
+ cat $(PROG).prl >> $(PROG)
+ $(EXECUTABLE_FILE) $(PROG)
include $(TOP)/mk/target.mk
diff --git a/utils/mkdirhier/Makefile b/utils/mkdirhier/Makefile
index f698112dbb..1190557655 100644
--- a/utils/mkdirhier/Makefile
+++ b/utils/mkdirhier/Makefile
@@ -3,9 +3,12 @@ include $(TOP)/mk/boilerplate.mk
boot :: all
-SCRIPT_PROG=mkdirhier
-SCRIPT_OBJS=mkdirhier.sh
-INTERP=$(SHELL)
-CLEAN_FILES += $(SCRIPT_PROG)
+PROG=mkdirhier
+CLEAN_FILES += $(PROG)
+all::
+ $(RM) -f $(PROG)
+ echo '#!$(SHELL)' >> $(PROG)
+ cat $(PROG).sh >> $(PROG)
+ $(EXECUTABLE_FILE) $(PROG)
include $(TOP)/mk/target.mk
diff --git a/utils/parallel/Makefile b/utils/parallel/Makefile
index 094c5cbba1..b297de04c5 100644
--- a/utils/parallel/Makefile
+++ b/utils/parallel/Makefile
@@ -1,49 +1,45 @@
TOP=../..
include $(TOP)/mk/boilerplate.mk
+#
+# You'll only get this with Parallel Haskell or
+# GranSim..
+#
+ifeq "$(BuildingParallel)" "YES"
+INSTALL_PARALLEL_SCRIPTS = YES
+endif
+ifeq "$(BuildingGranSim)" "YES"
+INSTALL_PARALLEL_SCRIPTS = YES
+endif
+
+ifeq "$(INSTALL_PARALLEL_SCRIPTS)" "YES"
+
PERL_PROGS = \
grs2gr gr2qp qp2ps ghc-fool-sort ghc-unfool-sort gr2pe gr2java \
qp2ap gr2RTS RTS2gran gran-extr gp-ext-imp tf avg-RTS SPLIT \
AVG SN get_SN sn_filter ps-scale-y
-
BASH_PROGS = gr2ps gr2jv gr2ap gr2gran
-#
-# One rule fits all, not particularly selective.
-#
-$(PERL_PROGS) : $(patsubst %,%.pl,$(PERL_PROGS))
-$(BASH_PROGS) : $(patsubst %,%.bash,$(BASH_PROGS))
-
+$(PERL_INSTALLERS) = $(addprefix install.perl.,$(PERL_PROGS))
+$(BASH_INSTALLERS) = $(addprefix install.bash.,$(BASH_PROGS))
-all :: $(PERL_PROGS) $(BASH_PROGS)
+.PHONY: install.perl.%
+.PHONY: install.bash.%
-$(PERL_PROGS) :
- $(RM) $@
- @echo Creating $@...
- @echo "#!"$(PERL) > $@
- @cat $@.pl >> $@
- @chmod a+x $@
+install :: $(PERL_INSTALLERS) $(BASH_INSTALLERS)
-$(BASH_PROGS) :
- $(RM) $@
- @echo Creating $@...
- @echo "#!"$(BASH) > $@
- @cat $@.bash >> $@
- @chmod a+x $@
+$(PERL_INSTALLERS): install.perl.%:
+ rm -f $(bindir)/$*
+ echo "#!$(PERL)" >> $(bindir)/$*
+ cat $*.pl >> $(bindir)/$*
+ $(EXECUTABLE_FILE) $(bindir)/$*
-#
-# You'll only get this with Parallel Haskell or
-# GranSim..
-#
-ifeq "$(BuildingParallel)" "YES"
-INSTALL_SCRIPTS += $(BASH_PROGS) $(PERL_PROGS)
-else
-ifeq "$(BuildingGranSim)" "YES"
-INSTALL_SCRIPTS += $(BASH_PROGS) $(PERL_PROGS)
+$(BASH_INSTALLERS): install.bash.%:
+ rm -f $(bindir)/$*
+ echo "#!$(BASH)" >> $(bindir)/$*
+ cat $*.bash >> $(bindir)/$*
+ $(EXECUTABLE_FILE) $(bindir)/$*
endif
-endif
-
-CLEAN_FILES += $(BASH_PROGS) $(PERL_PROGS)
include $(TOP)/mk/target.mk
diff --git a/utils/prof/Makefile b/utils/prof/Makefile
index 994d8c83f5..28e6f50bd6 100644
--- a/utils/prof/Makefile
+++ b/utils/prof/Makefile
@@ -1,40 +1,30 @@
TOP=../..
include $(TOP)/mk/boilerplate.mk
-INSTALLING=1
-
-ifeq "$(INSTALLING)" "1"
SUBDIRS = cgprof icons
-endif
-
-SCRIPT_SUBST_VARS= \
- FPTOOLS_TOP_ABS \
- INSTALLING \
- DEFAULT_TMPDIR \
- TARGETPLATFORM
-
-INSTALLED_SCRIPT_PROG = ghcprof
-INPLACE_SCRIPT_PROG = ghcprof-inplace
-
-ifeq "$(INSTALLING)" "1"
-SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG)
-else
-SCRIPT_PROG = $(INPLACE_SCRIPT_PROG)
-endif
-
-ifneq "$(BIN_DIST)" "1"
-SCRIPT_SUBST_VARS += libdir libexecdir
-endif
-
-# don't recurse on 'make install'
-#
-ifeq "$(INSTALLING)" "1"
-all clean distclean mostlyclean maintainer-clean ::
- $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@
-endif
-INTERP = perl
-SCRIPT_OBJS = ghcprof.prl
-INSTALL_SCRIPTS += $(SCRIPT_PROG)
+INPLACE_SCRIPT=ghcprof-inplace
+all::
+ $(RM) -f $(INPLACE_SCRIPT)
+ echo '#!$(PERL)' >> $(INPLACE_SCRIPT)
+ echo '$$DEFAULT_TMPDIR = "$(DEFAULT_TMPDIR)";' >> $(INPLACE_SCRIPT)
+ echo '$$TARGETPLATFORM = "$(TARGETPLATFORM)";' >> $(INPLACE_SCRIPT)
+ echo '$$icondir = "$(FPTOOLS_TOP_ABS)/ghc/utils/prof/icons";' >> $(INPLACE_SCRIPT)
+ echo '$$xmlparser = "$(FPTOOLS_TOP_ABS)/ghc/utils/prof/xmlparser/xmlparser";' >> $(INPLACE_SCRIPT)
+ echo '$$cgprof_dir = "$(FPTOOLS_TOP_ABS)/ghc/utils/prof/cgprof";' >> $(INPLACE_SCRIPT)
+ cat ghcprof.prl >> $(INPLACE_SCRIPT)
+ $(EXECUTABLE_FILE) $(INPLACE_SCRIPT)
+
+INSTALLED_SCRIPT=$(bindir)/ghcprof
+install::
+ $(RM) -f $(INSTALLED_SCRIPT)
+ echo '#!$(PERL)' >> $(INSTALLED_SCRIPT)
+ echo '$$DEFAULT_TMPDIR = "$(DEFAULT_TMPDIR)";' >> $(INSTALLED_SCRIPT)
+ echo '$$TARGETPLATFORM = "$(TARGETPLATFORM)";' >> $(INSTALLED_SCRIPT)
+ echo '$$icondir = "$(libexecdir)/icons";' >> $(INSTALLED_SCRIPT)
+ echo '$$xmlparser = "$(libexecdir)/xmlparser";' >> $(INSTALLED_SCRIPT)
+ echo '$$cgprof_dir = "$(libexecdir)";' >> $(INSTALLED_SCRIPT)
+ cat ghcprof.prl >> $(INSTALLED_SCRIPT)
+ $(EXECUTABLE_FILE) $(INSTALLED_SCRIPT)
include $(TOP)/mk/target.mk
diff --git a/utils/prof/ghcprof.prl b/utils/prof/ghcprof.prl
index bc3b344228..6ceb16af00 100644
--- a/utils/prof/ghcprof.prl
+++ b/utils/prof/ghcprof.prl
@@ -3,7 +3,7 @@
#
# (c) The GHC Team 2000
#
-# needs: FPTOOLS_TOP_ABS, INSTALLING, DEFAULT_TMPDIR, TARGETPLATFORM, libexecdir
+# needs: DEFAULT_TMPDIR, TARGETPLATFORM, icondir, xmlparser, cgprof_dir
#
if ($ENV{'UDG_HOME'}) {
@@ -20,15 +20,6 @@ $bsp_l = 12;
$bsp_g = 13;
$MaxNoNodes = 1900;
-$icondir = ( $INSTALLING ? "$libexecdir/icons"
- : "$FPTOOLS_TOP_ABS/ghc/utils/prof/icons" );
-
-$xmlparser = ( $INSTALLING ? "$libexecdir/xmlparser"
- : "$FPTOOLS_TOP_ABS/ghc/utils/prof/xmlparser/xmlparser" );
-
-$cgprof_dir = ( $INSTALLING ? "$libexecdir"
- : "$FPTOOLS_TOP_ABS/ghc/utils/prof/cgprof" );
-
# where to make tmp file names?
if ( $ENV{'TMPDIR'} ) {
$Tmp_prefix = $ENV{'TMPDIR'} . "/ghcprof";
diff --git a/utils/runstdtest/Makefile b/utils/runstdtest/Makefile
index 0bd2babfc2..5003bf79aa 100644
--- a/utils/runstdtest/Makefile
+++ b/utils/runstdtest/Makefile
@@ -1,12 +1,15 @@
TOP=../..
include $(TOP)/mk/boilerplate.mk
-SCRIPT_PROG=runstdtest
-SCRIPT_OBJS=runstdtest.prl
-SCRIPT_SUBST_VARS=RM DEFAULT_TMPDIR CONTEXT_DIFF
-INTERP=perl
-
-CLEAN_FILES += $(SCRIPT_PROG)
-DESTDIR=$(INSTSCRIPTDIR)
+PROG=runstdtest
+CLEAN_FILES += $(PROG)
+all::
+ $(RM) -f $(PROG)
+ echo '#!$(PERL)' >> $(PROG)
+ echo '$$RM = "$(RM)";' >> $(PROG)
+ echo '$$DEFAULT_TMPDIR = "$(DEFAULT_TMPDIR)";' >> $(PROG)
+ echo '$$CONTEXT_DIFF = "$(CONTEXT_DIFF)";' >> $(PROG)
+ cat $(PROG).prl >> $(PROG)
+ $(EXECUTABLE_FILE) $(PROG)
include $(TOP)/mk/target.mk
diff --git a/utils/stat2resid/Makefile b/utils/stat2resid/Makefile
index f474f5229d..ef9ea2bcb2 100644
--- a/utils/stat2resid/Makefile
+++ b/utils/stat2resid/Makefile
@@ -13,24 +13,9 @@ SCRIPT_OBJS=stat2resid.prl
#
INSTALLING=0
-ifneq "$(BIN_DIST)" "1"
-SCRIPT_SUBST_VARS=DEFAULT_TMPDIR
-endif
-
INTERP=perl
#
-# The stat2resid script is configured with a different
-# path to the supporting perl scripts, depending on whether it
-# is to be installed or not.
-#
-ifeq "$(INSTALLING)" "1"
-ifeq "$(BIN_DIST)" "1"
-SCRIPT_PREFIX_FILES += prefix.txt
-endif
-endif
-
-#
# install setup
#
INSTALL_LIBS += $(DYN_LOADABLE_BITS)