Commit 0ef6ba7b authored by Ian Lynagh's avatar Ian Lynagh

Quote commands that we run, so they work if there are space in their paths

I've also added some missing $s to some makefiles. These aren't
technically necessary, but it's nice to be consistent.
parent d5629b33
......@@ -36,7 +36,7 @@ compiler/stage3/package-data.mk : $(compiler_CONFIG_HS)
endif
$(compiler_CONFIG_HS) : mk/config.mk
$(RM) -f $@
"$(RM)" $(RM_OPTS) $@
@echo "Creating $@ ... "
@echo "module Config where" >>$@
@echo "cProjectName :: String" >> $@
......@@ -142,8 +142,8 @@ $(eval $(call clean-target,compiler,config_hs,$(compiler_CONFIG_HS)))
PLATFORM_H = ghc_boot_platform.h
compiler/stage1/$(PLATFORM_H) : mk/config.mk
$(MKDIRHIER) $(dir $@)
$(RM) $@
"$(MKDIRHIER)" $(dir $@)
"$(RM)" $(RM_OPTS) $@
@echo "Creating $@..."
@echo "#ifndef __PLATFORM_H__" >$@
@echo "#define __PLATFORM_H__" >>$@
......@@ -189,8 +189,8 @@ endif
# the HOST platform is the TARGET of stage1. The TARGET remains the same
# (stage1 is the cross-compiler, not stage2).
compiler/stage2/$(PLATFORM_H) : mk/config.mk
$(MKDIRHIER) $(dir $@)
$(RM) $@
"$(MKDIRHIER)" $(dir $@)
"$(RM)" $(RM_OPTS) $@
@echo "Creating $@..."
@echo "#ifndef __PLATFORM_H__" >$@
@echo "#define __PLATFORM_H__" >>$@
......@@ -233,7 +233,7 @@ endif
@echo "Done."
compiler/stage3/$(PLATFORM_H) : compiler/stage2/$(PLATFORM_H)
$(CP) $< $@
"$(CP)" $< $@
# Every Constants.o object file depends on includes/GHCConstants.h:
$(eval $(call compiler-hs-dependency,Constants,$(includes_GHCCONSTANTS)))
......@@ -263,25 +263,25 @@ $(PRIMOPS_TXT) compiler/parser/Parser.y: %: %.pp compiler/stage1/$(PLATFORM_H)
$(eval $(call clean-target,compiler,primop, $(PRIMOPS_TXT) compiler/parser/Parser.y $(PRIMOP_BITS)))
compiler/primop-data-decl.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --data-decl < $< > $@
"$(GENPRIMOP_INPLACE)" --data-decl < $< > $@
compiler/primop-tag.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --primop-tag < $< > $@
"$(GENPRIMOP_INPLACE)" --primop-tag < $< > $@
compiler/primop-list.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --primop-list < $< > $@
"$(GENPRIMOP_INPLACE)" --primop-list < $< > $@
compiler/primop-has-side-effects.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --has-side-effects < $< > $@
"$(GENPRIMOP_INPLACE)" --has-side-effects < $< > $@
compiler/primop-out-of-line.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --out-of-line < $< > $@
"$(GENPRIMOP_INPLACE)" --out-of-line < $< > $@
compiler/primop-commutable.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --commutable < $< > $@
"$(GENPRIMOP_INPLACE)" --commutable < $< > $@
compiler/primop-needs-wrapper.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --needs-wrapper < $< > $@
"$(GENPRIMOP_INPLACE)" --needs-wrapper < $< > $@
compiler/primop-can-fail.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --can-fail < $< > $@
"$(GENPRIMOP_INPLACE)" --can-fail < $< > $@
compiler/primop-strictness.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --strictness < $< > $@
"$(GENPRIMOP_INPLACE)" --strictness < $< > $@
compiler/primop-primop-info.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
$(GENPRIMOP_INPLACE) --primop-primop-info < $< > $@
"$(GENPRIMOP_INPLACE)" --primop-primop-info < $< > $@
# Every PrimOp.o object file depends on $(PRIMOP_BITS):
$(eval $(call compiler-hs-dependency,PrimOp,$(PRIMOP_BITS)))
......@@ -289,7 +289,7 @@ $(eval $(call compiler-hs-dependency,PrimOp,$(PRIMOP_BITS)))
# Usages aren't used any more; but the generator
# can still generate them if we want them back
compiler/primop-usage.hs-incl: $(PRIMOPS_TXT)
$(GENPRIMOP_INPLACE) --usage < $< > $@
"$(GENPRIMOP_INPLACE)" --usage < $< > $@
# -----------------------------------------------------------------------------
# Configuration
......@@ -466,7 +466,7 @@ compiler/stage1/inplace-pkg-config-munged: compiler/stage1/inplace-pkg-config
sed -e 's/^\(version: .*\)\.$(ProjectPatchLevel)$$/\1/' \
-e 's/^\(hs-libraries: HSghc-.*\)\.$(ProjectPatchLevel)$$/\1/' \
< $< > $@
$(compiler_stage1_GHC_PKG) update --force $(compiler_stage1_GHC_PKG_OPTS) $@
"$(compiler_stage1_GHC_PKG)" update --force $(compiler_stage1_GHC_PKG_OPTS) $@
$(compiler_stage1_v_LIB) : compiler/stage1/inplace-pkg-config-munged
endif
......
......@@ -28,6 +28,6 @@ src_ug_book = $(dir $(realpath $(dir $(build_ug_book))/ug-book.xml.in))ug-book.
ifneq "$(build_ug_book)" "$(src_ug_book)"
$(src_ug_book) : $(build_ug_book)
$(CP) $< $@
"$(CP)" $< $@
docs/users_guide/users_guide.pdf docs/users_guide/users_guide.ps: $(src_ug_book)
endif
......@@ -17,12 +17,12 @@ install: install_driver_ghci
.PHONY: install_driver_ghci
install_driver_ghci: WRAPPER=$(DESTDIR)$(bindir)/ghci-$(ProjectVersion)
install_driver_ghci:
$(MKDIRHIER) $(DESTDIR)$(bindir)
$(RM) -f $(WRAPPER)
"$(MKDIRHIER)" $(DESTDIR)$(bindir)
"$(RM)" $(RM_OPTS) $(WRAPPER)
echo '#!$(SHELL)' >> $(WRAPPER)
echo 'exec $(bindir)/ghc-$(ProjectVersion) --interactive ${1+"$@"}' >> $(WRAPPER)
$(EXECUTABLE_FILE) $(WRAPPER)
$(RM) -f $(DESTDIR)$(bindir)/ghci
"$(RM)" $(RM_OPTS) $(DESTDIR)$(bindir)/ghci
$(LN_S) ghci-$(ProjectVersion) $(DESTDIR)$(bindir)/ghci
else # Windows...
......@@ -42,7 +42,7 @@ driver/ghci/ghci.res : driver/ghci/ghci.rc driver/ghci/ghci.ico
windres --preprocessor="$(CPP) -xc -DRC_INVOKED" -o driver/ghci/ghci.res -i driver/ghci/ghci.rc -O coff
driver/ghci/dist/build/tmp/$(driver/ghci_dist_PROG_VER) : driver/ghci/dist/build/tmp/$(driver/ghci_dist_PROG)
$(CP) $< $@
"$(CP)" $< $@
install : install_driver_ghcii
......@@ -50,8 +50,8 @@ install : install_driver_ghcii
install_driver_ghcii: GHCII_SCRIPT=$(DESTDIR)$(bindir)/ghcii.sh
install_driver_ghcii: GHCII_SCRIPT_VERSIONED = $(DESTDIR)$(bindir)/ghcii-$(ProjectVersion).sh
install_driver_ghcii:
$(MKDIRHIER) $(DESTDIR)$(bindir)
$(RM) -f $(GHCII_SCRIPT)
"$(MKDIRHIER)" $(DESTDIR)$(bindir)
"$(RM)" $(RM_OPTS) $(GHCII_SCRIPT)
echo "#!$(SHELL)" >> $(GHCII_SCRIPT)
echo 'exec "$$0"/../ghc --interactive $${1+"$$@"}' >> $(GHCII_SCRIPT)
$(EXECUTABLE_FILE) $(GHCII_SCRIPT)
......
This diff is collapsed.
......@@ -117,7 +117,7 @@ all_ghc_stage2 : $(GHC_STAGE2)
all_ghc_stage3 : $(GHC_STAGE3)
$(INPLACE_LIB)/extra-gcc-opts : extra-gcc-opts
$(CP) $< $@
"$(CP)" $< $@
# The GHC programs need to depend on all the helper programs they might call
ifeq "$(GhcUnregisterised)" "NO"
......@@ -149,15 +149,15 @@ ifeq "$(Windows)" "NO"
install: install_ghc_link
.PNONY: install_ghc_link
install_ghc_link:
$(RM) -f $(DESTDIR)$(bindir)/ghc
$(LN_S) ghc-$(ProjectVersion) $(DESTDIR)$(bindir)/ghc
"$(RM)" $(RM_OPTS) $(DESTDIR)$(bindir)/ghc
"$(LN_S)" ghc-$(ProjectVersion) $(DESTDIR)$(bindir)/ghc
else
# On Windows we install the main binary as $(bindir)/ghc.exe
# To get ghc-<version>.exe we have a little C program in driver/ghc
install: install_ghc_post
.PHONY: install_ghc_post
install_ghc_post: install_bins
$(RM) -f $(DESTDIR)$(bindir)/ghc.exe
$(MV) -f $(DESTDIR)$(bindir)/ghc-stage$(INSTALL_GHC_STAGE).exe $(DESTDIR)$(bindir)/ghc.exe
"$(RM)" $(RM_OPTS) $(DESTDIR)$(bindir)/ghc.exe
"$(MV)" -f $(DESTDIR)$(bindir)/ghc-stage$(INSTALL_GHC_STAGE).exe $(DESTDIR)$(bindir)/ghc.exe
endif
......@@ -73,7 +73,7 @@ $(includes_H_CONFIG) : mk/config.h mk/config.mk includes/ghc.mk
endif
$(includes_H_PLATFORM) : includes/Makefile
$(RM) $@
"$(RM)" $(RM_OPTS) $@
@echo "Creating $@..."
@echo "#ifndef __GHCPLATFORM_H__" >$@
@echo "#define __GHCPLATFORM_H__" >>$@
......
......@@ -105,14 +105,14 @@ endif
ifneq "$(BINDIST)" "YES"
$(libffi_STAMP_CONFIGURE):
$(RM) -rf $(LIBFFI_DIR) libffi/build
"$(RM)" $(RM_OPTS) -r $(LIBFFI_DIR) libffi/build
cd libffi && $(TAR) -zxf tarball/libffi*.tar.gz
mv libffi/libffi-* libffi/build
chmod +x libffi/ln
cd libffi && $(PATCH) -p0 < libffi.dllize-3.0.6.patch
# This patch is just the resulting delta from running automake, autoreconf, libtoolize --force --copy
cd libffi && $(PATCH) -p0 < libffi.autotools-update.patch
cd libffi && "$(PATCH)" -p0 < libffi.autotools-update.patch
cd libffi && \
(set -o igncr 2>/dev/null) && set -o igncr; export SHELLOPTS; \
......@@ -122,7 +122,7 @@ $(libffi_STAMP_CONFIGURE):
CC=$(WhatGccIsCalled) \
CFLAGS="$(SRC_CC_OPTS)" \
LDFLAGS="$(SRC_LD_OPTS)" \
$(SHELL) configure \
"$(SHELL)" configure \
--enable-static=yes \
--enable-shared=$(libffi_EnableShared) \
--host=$(PLATFORM) --build=$(PLATFORM)
......@@ -131,18 +131,18 @@ $(libffi_STAMP_CONFIGURE):
# NOTE: this builds libffi_convience.so with the incorrect
# soname, but we don't need that anyway!
cd libffi && \
$(CP) build/libtool build/libtool.orig; \
"$(CP)" build/libtool build/libtool.orig; \
sed -e s/soname_spec=.*/soname_spec="$(libffi_HS_DYN_LIB_NAME)"/ build/libtool.orig > build/libtool
# We don't want libtool's cygwin hacks
cd libffi && \
$(CP) build/libtool build/libtool.orig; \
"$(CP)" build/libtool build/libtool.orig; \
sed -e s/dlname=\'\$$tdlname\'/dlname=\'\$$dlname\'/ build/libtool.orig > build/libtool
touch $@
libffi/ffi.h: $(libffi_STAMP_CONFIGURE)
$(CP) libffi/build/include/ffi.h $@
"$(CP)" libffi/build/include/ffi.h $@
$(libffi_STAMP_BUILD): $(libffi_STAMP_CONFIGURE)
cd libffi && \
......@@ -153,8 +153,8 @@ $(libffi_STAMP_BUILD): $(libffi_STAMP_CONFIGURE)
$(libffi_STATIC_LIB): $(libffi_STAMP_BUILD)
# Rename libffi.a to libHSffi.a
libffi/libHSffi.a libffi/libHSffi_p.a: $(libffi_STATIC_LIB)
$(CP) $(libffi_STATIC_LIB) libffi/libHSffi.a
$(CP) $(libffi_STATIC_LIB) libffi/libHSffi_p.a
"$(CP)" $(libffi_STATIC_LIB) libffi/libHSffi.a
"$(CP)" $(libffi_STATIC_LIB) libffi/libHSffi_p.a
$(eval $(call all-target,libffi,libffi/libHSffi.a libffi/libHSffi_p.a))
......@@ -166,7 +166,7 @@ $(eval $(call all-target,libffi,libffi/libHSffi.a libffi/libHSffi_p.a))
libffi/HSffi.o: libffi/libHSffi.a
cd libffi && \
touch empty.c; \
$(CC) $(SRC_CC_OPTS) -c empty.c -o HSffi.o
"$(CC)" $(SRC_CC_OPTS) -c empty.c -o HSffi.o
$(eval $(call all-target,libffi,libffi/HSffi.o))
......@@ -178,7 +178,7 @@ libffi/libffi.dll.a $(libffi_HS_DYN_LIB): $(libffi_STAMP_BUILD)
# However, the renaming is still required for the import library
# libffi.dll.a.
$(libffi_HS_DYN_LIB).a: libffi/libffi.dll.a
$(CP) libffi/libffi.dll.a $(libffi_HS_DYN_LIB).a
"$(CP)" libffi/libffi.dll.a $(libffi_HS_DYN_LIB).a
$(eval $(call all-target,libffi,$(libffi_HS_DYN_LIB).a))
......@@ -186,7 +186,7 @@ else
$(libffi_DYNAMIC_LIBS): $(libffi_STAMP_BUILD)
# Rename libffi.so to libHSffi...so
$(libffi_HS_DYN_LIB): $(libffi_DYNAMIC_LIBS)
$(CP) $(word 1,$(libffi_DYNAMIC_LIBS)) $(libffi_HS_DYN_LIB)
"$(CP)" $(word 1,$(libffi_DYNAMIC_LIBS)) $(libffi_HS_DYN_LIB)
$(eval $(call all-target,libffi,$(libffi_HS_DYN_LIB)))
endif
......
......@@ -46,5 +46,6 @@ INPLACE_BIN = $(INPLACE)/bin
INPLACE_LIB = $(INPLACE)/lib
INPLACE_MINGW = $(INPLACE)/mingw
RM = rm -f
RM = rm
RM_OPTS = -f
......@@ -63,21 +63,21 @@ endif
rts_AUTO_APPLY_CMM = rts/dist/build/AutoApply.cmm
$(rts_AUTO_APPLY_CMM): $(GENAPPLY_INPLACE)
$(RM) $@
$(GENAPPLY_INPLACE) >$@
"$(RM)" $(RM_OPTS) $@
"$(GENAPPLY_INPLACE)" >$@
rts/dist/build/sm/Evac_thr.c : rts/sm/Evac.c
$(MKDIRHIER) $(dir $@)
"$(MKDIRHIER)" $(dir $@)
cp $< $@
rts/dist/build/sm/Scav_thr.c : rts/sm/Scav.c
$(MKDIRHIER) $(dir $@)
"$(MKDIRHIER)" $(dir $@)
cp $< $@
rts_H_FILES = $(wildcard $(GHC_INCLUDE_DIR)/*.h) $(wildcard rts/*.h)
# collect the -l flags that we need to link the rts dyn lib.
rts/libs.depend : $(GHC_PKG_INPLACE)
$(GHC_PKG_INPLACE) field rts extra-libraries \
"$(GHC_PKG_INPLACE)" field rts extra-libraries \
| sed -e 's/^extra-libraries: //' -e 's/\([a-z]*\)/-l\1/g' > $@
#-----------------------------------------------------------------------------
......@@ -95,30 +95,30 @@ ifneq "$$(CLEANING)" "YES"
ifneq "$$(BootingFromHc)" "YES"
$1/$2/build/%.$$($3_way_)o : $1/%.cmm $$(rts_H_FILES) $$($1_$2_HC)
$$($1_$2_HC) $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
"$$($1_$2_HC)" $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_way_)o : $1/$2/build/%.cmm $$(rts_H_FILES) $$($1_$2_HC)
$$($1_$2_HC) $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
"$$($1_$2_HC)" $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_way_)hc : $1/%.cmm $$(rts_H_FILES) $$($1_$2_HC)
$$($1_$2_HC) $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
"$$($1_$2_HC)" $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_way_)hc : $1/$2/build/%.cmm $$(rts_H_FILES) $$($1_$2_HC)
$$($1_$2_HC) $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
"$$($1_$2_HC)" $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_way_)s : $1/%.cmm $$(rts_H_FILES) $$($1_$2_HC)
$$($1_$2_HC) $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
"$$($1_$2_HC)" $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_way_)s : $1/$2/build/%.cmm $$(rts_H_FILES) $$($1_$2_HC)
$$($1_$2_HC) $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
"$$($1_$2_HC)" $$($1_$2_$3_MOST_HC_OPTS) -c $$< -o $$@
endif
$1/$2/build/%.$$($3_way_)o : $1/%.hc
$$(CC) $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@
"$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@
$1/$2/build/%.$$($3_way_)o : $1/$2/build/%.hc
$$(CC) $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@
"$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@
endif
......@@ -132,8 +132,8 @@ ifneq "$$(findstring debug, $1)" ""
rts_dist_$1_HC_OPTS =
rts_dist_$1_CC_OPTS = -g -O0
else
rts_dist_$1_HC_OPTS = $(GhcRtsHcOpts)
rts_dist_$1_CC_OPTS = $(GhcRtsCcOpts)
rts_dist_$1_HC_OPTS = $$(GhcRtsHcOpts)
rts_dist_$1_CC_OPTS = $$(GhcRtsCcOpts)
endif
ifneq "$$(findstring thr, $1)" ""
......@@ -148,19 +148,19 @@ rts_$1_LIB = rts/dist/build/libHSrts$$($1_libsuf)
rts_$1_C_OBJS = $$(patsubst rts/%.c,rts/dist/build/%.$$($1_osuf),$$(rts_C_SRCS)) $$(patsubst %.c,%.$$($1_osuf),$$(rts_$1_EXTRA_C_SRCS))
rts_$1_S_OBJS = $$(patsubst rts/%.S,rts/dist/build/%.$$($1_osuf),$$(rts_S_SRCS))
rts_$1_CMM_OBJS = $$(patsubst rts/%.cmm,rts/dist/build/%.$$($1_osuf),$$(rts_CMM_SRCS)) $$(patsubst %.cmm,%.$$($1_osuf),$(rts_AUTO_APPLY_CMM))
rts_$1_CMM_OBJS = $$(patsubst rts/%.cmm,rts/dist/build/%.$$($1_osuf),$$(rts_CMM_SRCS)) $$(patsubst %.cmm,%.$$($1_osuf),$$(rts_AUTO_APPLY_CMM))
rts_$1_OBJS = $$(rts_$1_C_OBJS) $$(rts_$1_S_OBJS) $$(rts_$1_CMM_OBJS)
ifneq "$$(findstring dyn, $1)" ""
$$(rts_$1_LIB) : $$(rts_$1_OBJS) rts/libs.depend
$$(RM) $$@
$$(rts_dist_HC) -shared -dynamic -dynload deploy \
"$$(RM)" $$(RM_OPTS) $$@
"$$(rts_dist_HC)" -shared -dynamic -dynload deploy \
-no-auto-link-packages `cat rts/libs.depend` $$(rts_$1_OBJS) -o $$@
else
$$(rts_$1_LIB) : $$(rts_$1_OBJS)
$$(RM) $$@
echo $$(rts_$1_OBJS) | $$(XARGS) $$(AR) $$(EXTRA_AR_ARGS) $$@
"$$(RM)" $$(RM_OPTS) $$@
echo $$(rts_$1_OBJS) | "$$(XARGS)" $$(AR) $$(EXTRA_AR_ARGS) $$@
endif
endef
......@@ -399,7 +399,7 @@ rts_LD_OPTS += -Llibffi/build/include
DYNWRAPPER_SRC = rts/dyn-wrapper.c
DYNWRAPPER_PROG = rts/dyn-wrapper$(exeext)
$(DYNWRAPPER_PROG): $(DYNWRAPPER_SRC)
$(HC) -cpp -optc-include -optcdyn-wrapper-patchable-behaviour.h $(INPLACE_EXTRA_FLAGS) $< -o $@
"$(HC)" -cpp -optc-include -optcdyn-wrapper-patchable-behaviour.h $(INPLACE_EXTRA_FLAGS) $< -o $@
# -----------------------------------------------------------------------------
# build the static lib containing the C main symbol
......@@ -432,9 +432,9 @@ install : install_rts
.PHONY: install_rts
install_rts:
$(MKDIRHIER) $(DESTDIR)$(libdir)
$(MKDIRHIER) $(DESTDIR)$(libdir)/include
$(CP) $(ALL_RTS_LIBS) $(DESTDIR)$(libdir)
"$(MKDIRHIER)" $(DESTDIR)$(libdir)
"$(MKDIRHIER)" $(DESTDIR)$(libdir)/include
"$(CP)" $(ALL_RTS_LIBS) $(DESTDIR)$(libdir)
# -----------------------------------------------------------------------------
# cleaning
......
......@@ -22,17 +22,17 @@ endif
ifneq "$$($1_$2_NO_BUILD_DEPS)" "YES"
$$($1_$2_depfile) : $$(MKDIRHIER) $$(MKDEPENDC) $$($1_$2_HS_SRCS) $$($1_$2_HS_BOOT_SRCS) $$($1_$2_HC_MK_DEPEND_DEP) $$($1_$2_C_FILES) $$($1_$2_S_FILES)
$$(MKDIRHIER) $1/$2/build
$$(RM) $$@ $$@.tmp
"$$(MKDIRHIER)" $1/$2/build
"$$(RM)" $$(RM_OPTS) $$@ $$@.tmp
touch $$@.tmp
ifneq "$$($1_$2_C_SRCS)$$($1_$2_S_SRCS)" ""
$$(MKDEPENDC) -f $$($1_$2_depfile).tmp $$($1_MKDEPENDC_OPTS) $$(foreach way,$$($1_WAYS),-s $$(way)) -- $$($1_$2_v_ALL_CC_OPTS) -- $$($1_$2_C_FILES) $$($1_$2_S_FILES) || ( $$(RM) $$@; exit 1 )
sed -e "s|$1/\([^ :]*o[ :]\)|$1/$2/build/\1|g" -e "s|$(TOP)/||" <$$($1_$2_depfile).tmp >$$($1_$2_depfile)
"$$(MKDEPENDC)" -f $$($1_$2_depfile).tmp $$($1_MKDEPENDC_OPTS) $$(foreach way,$$($1_WAYS),-s $$(way)) -- $$($1_$2_v_ALL_CC_OPTS) -- $$($1_$2_C_FILES) $$($1_$2_S_FILES) || ( "$$(RM)" $$(RM_OPTS) $$@; exit 1 )
sed -e "s|$1/\([^ :]*o[ :]\)|$1/$2/build/\1|g" -e "s|$$(TOP)/||" <$$($1_$2_depfile).tmp >$$($1_$2_depfile)
endif
ifneq "$$($1_$2_HS_SRCS)" ""
$$($1_$2_HC_MK_DEPEND) -M $$($1_$2_MKDEPENDHS_FLAGS) \
"$$($1_$2_HC_MK_DEPEND)" -M $$($1_$2_MKDEPENDHS_FLAGS) \
$$(filter-out -split-objs, $$($1_$2_v_ALL_HC_OPTS)) \
$$($1_$2_HS_SRCS) || ( $$(RM) $$@; exit 1 )
$$($1_$2_HS_SRCS) || ( "$$(RM)" $$(RM_OPTS) $$@; exit 1 )
endif
echo "$1_$2_depfile_EXISTS = YES" >> $$@
ifneq "$$($1_$2_SLASH_MODS)" ""
......
......@@ -24,9 +24,9 @@ endif
# for our build system, and registers the package for use in-place in
# the build tree.
$1/$2/package-data.mk $1/$2/inplace-pkg-config $1/$2/build/autogen/cabal_macros.h : $$(GHC_CABAL_INPLACE) $$($1_$2_GHC_PKG_DEP) $1/$$($1_PACKAGE).cabal $$(wildcard $1/configure) $$($1_$2_HC_CONFIG_DEP)
$$(GHC_CABAL_INPLACE) configure --with-ghc=$$($1_$2_HC_CONFIG) --with-ghc-pkg=$$($1_$2_GHC_PKG) --with-gcc=$$(WhatGccIsCalled) --configure-option=--with-cc=$$(WhatGccIsCalled) $$($1_CONFIGURE_OPTS) $$($1_$2_CONFIGURE_OPTS) -- $2 $1
"$$(GHC_CABAL_INPLACE)" configure --with-ghc="$$($1_$2_HC_CONFIG)" --with-ghc-pkg="$$($1_$2_GHC_PKG)" --with-gcc="$$(WhatGccIsCalled)" --configure-option=--with-cc="$$(WhatGccIsCalled)" $$($1_CONFIGURE_OPTS) $$($1_$2_CONFIGURE_OPTS) -- $2 $1
if [ "$$($1_$2_PROG)" = "" ]; then \
$$($1_$2_GHC_PKG) update --force $$($1_$2_GHC_PKG_OPTS) $1/$2/inplace-pkg-config; \
"$$($1_$2_GHC_PKG)" update --force $$($1_$2_GHC_PKG_OPTS) $1/$2/inplace-pkg-config; \
fi
endef
......@@ -41,8 +41,8 @@ endif
ifeq "$3" "dyn"
# Link a dynamic library
$$($1_$2_$3_LIB) : $$($1_$2_$3_HS_OBJS) $$($1_$2_dyn_C_OBJS) $$($1_$2_dyn_S_OBJS) $$(ALL_RTS_LIBS) $$($1_$2_$3_DEPS_LIBS)
$$(RM) $$@
$$($1_$2_HC) $$($1_$2_dyn_C_OBJS) $$($1_$2_dyn_S_OBJS) $$($1_$2_$3_HS_OBJS) \
"$$(RM)" $$(RM_OPTS) $$@
"$$($1_$2_HC)" $$($1_$2_dyn_C_OBJS) $$($1_$2_dyn_S_OBJS) $$($1_$2_$3_HS_OBJS) \
`$$($1_$2_$3_MKSTUBOBJS)` \
-shared -dynamic -dynload deploy \
-no-auto-link-packages $$(addprefix -package,$$($1_$2_DEPS)) \
......@@ -51,12 +51,12 @@ else
# Build the ordinary .a library
ifeq "$$($1_$2_SplitObjs)" "YES"
$$($1_$2_$3_LIB) : $$($1_$2_$3_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS)
$$(RM) $$@
(echo $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) `$$($1_$2_$3_MKSTUBOBJS)`; find $$(patsubst %.$$($3_osuf),%_split,$$($1_$2_$3_HS_OBJS)) -name '*.$$($3_osuf)' -print) | $$(XARGS) $$(AR) $$(EXTRA_AR_ARGS) $$@ || $(RM) $$@
"$$(RM)" $$(RM_OPTS) $$@
(echo $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) `$$($1_$2_$3_MKSTUBOBJS)`; find $$(patsubst %.$$($3_osuf),%_split,$$($1_$2_$3_HS_OBJS)) -name '*.$$($3_osuf)' -print) | "$$(XARGS)" $$(AR) $$(EXTRA_AR_ARGS) $$@ || "$$(RM)" $$(RM_OPTS) $$@
else
$$($1_$2_$3_LIB) : $$($1_$2_$3_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS)
$$(RM) $$@
echo $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_$3_HS_OBJS) `$$($1_$2_$3_MKSTUBOBJS)` | $$(XARGS) $$(AR) $$(EXTRA_AR_ARGS) $$@ || $(RM) $$@
"$$(RM)" $$(RM_OPTS) $$@
echo $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_$3_HS_OBJS) `$$($1_$2_$3_MKSTUBOBJS)` | "$$(XARGS)" $$(AR) $$(EXTRA_AR_ARGS) $$@ || "$$(RM)" $$(RM_OPTS) $$@
endif
endif
......@@ -77,8 +77,8 @@ ifneq "$4" "0"
BINDIST_LIBS += $$($1_$2_GHCI_LIB)
endif
$$($1_$2_GHCI_LIB) : $$($1_$2_$3_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS)
$$(RM) $$@
$$(LD) -r -o $$@ $$(EXTRA_LD_OPTS) $$($1_$2_$3_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) `$$($1_$2_$3_MKSTUBOBJS)`
"$$(RM)" $$(RM_OPTS) $$@
"$$(LD)" -r -o $$@ $$(EXTRA_LD_OPTS) $$($1_$2_$3_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) `$$($1_$2_$3_MKSTUBOBJS)`
$(call all-target,$1_$2,$$($1_$2_GHCI_LIB))
endif
......
......@@ -55,8 +55,8 @@ maintainer-clean : distclean
.PHONY: clean_$1_$2_config
clean_$1_$2_config:
$(RM) $1/config.log $1/config.status $1/include/Hs*Config.h
$(RM) -r $1/autom4te.cache
"$$(RM)" $$(RM_OPTS) $1/config.log $1/config.status $1/include/Hs*Config.h
"$$(RM)" $$(RM_OPTS) -r $1/autom4te.cache
# --- CONFIGURATION
......
......@@ -36,21 +36,21 @@ clean_$1 : clean_$1_$2
ifneq "$$(BINDIST)" "YES"
$1/$2/$$($1_$2_PROG).prl: $1/$$($1_PERL_SRC) $$(UNLIT)
$$(MKDIRHIER) $1/$2
$$(RM) -f $$@
$$(UNLIT) $$(UNLIT_OPTS) $$< $$@
"$$(MKDIRHIER)" $1/$2
"$$(RM)" $$(RM_OPTS) $$@
"$$(UNLIT)" $$(UNLIT_OPTS) $$< $$@
$1/$2/$$($1_$2_PROG): $1/$2/$$($1_$2_PROG).prl
$$(RM) -f $$@
"$$(RM)" $$(RM_OPTS) $$@
echo '#!$$(PERL)' >> $$@
echo '$$$$TARGETPLATFORM = "$$(TARGETPLATFORM)";' >> $$@
cat $$< >> $$@
$$(EXECUTABLE_FILE) $$@
$$($1_$2_INPLACE): $1/$2/$$($1_$2_PROG)
$$(MKDIRHIER) $$(dir $$@)
$$(RM) -f $$@
$$(CP) $$< $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$(RM)" $$(RM_OPTS) $$@
"$$(CP)" $$< $$@
$$(EXECUTABLE_FILE) $$@
endif
......
......@@ -99,12 +99,12 @@ $(call hs-objs,$1,$2,v)
ifeq "$$(BootingFromHc)" "NO"
$1/$2/build/tmp/$$($1_$2_PROG) : $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS)
$$(MKDIRHIER) $$(dir $$@)
$$($1_$2_HC) -o $$@ $$($1_$2_v_ALL_HC_OPTS) $$(LD_OPTS) $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS)
"$$(MKDIRHIER)" $$(dir $$@)
"$$($1_$2_HC)" -o $$@ $$($1_$2_v_ALL_HC_OPTS) $$(LD_OPTS) $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS)
else
$1/$2/build/tmp/$$($1_$2_PROG) : $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS)
$$(MKDIRHIER) $$(dir $$@)
$$(CC) -o $$@ $$($1_$2_v_ALL_CC_OPTS) $$(LD_OPTS) $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS) $$($1_$2_v_EXTRA_CC_OPTS)
"$$(MKDIRHIER)" $$(dir $$@)
"$$(CC)" -o $$@ $$($1_$2_v_ALL_CC_OPTS) $$(LD_OPTS) $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS) $$($1_$2_v_EXTRA_CC_OPTS)
endif
# Note [lib-depends] if this program is built with stage1 or greater, we
......@@ -139,8 +139,8 @@ $(call clean-target,$1,$2_inplace,$$($1_$2_INPLACE))
# INPLACE_BIN might be empty if we're distcleaning
ifneq "$$(INPLACE_BIN)" ""
$$($1_$2_INPLACE) : $1/$2/build/tmp/$$($1_$2_PROG) $$(MKDIRHIER)
$$(MKDIRHIER) $$(dir $$@)
$$(CP) -p $$< $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$(CP)" -p $$< $$@
touch $$@
endif
......
......@@ -21,54 +21,54 @@ define c-suffix-rules
ifeq "$4 $$(BootingFromHc)" "YES NO"
$1/$2/build/%.$$($3_osuf) : $1/%.c $$(MKDIRHIER) $$($1_$2_HC_DEP)
$$(RM) $$@
$$(MKDIRHIER) $$(dir $$@)
$$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_osuf) : $1/$2/build/%.c $$($1_$2_HC_DEP)
$$(RM) $$@
$$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_osuf) : $1/$2/build/%.$$($3_way_)s $$($1_$2_HC_DEP)
$$(RM) $$@
$$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_osuf) : $1/%.S $$(MKDIRHIER) $$($1_$2_HC_DEP)
$$(RM) $$@
$$(MKDIRHIER) $$(dir $$@)
$$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_way_)s : $1/$2/build/%.c $$($1_$2_HC_DEP)
$$(RM) $$@
$$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -S $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -S $$< -o $$@
$1/$2/build/%.$$($3_way_)s : $1/%.c $$($1_$2_HC_DEP)
$$(RM) $$@
$$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -S $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -S $$< -o $$@
else
$1/$2/build/%.$$($3_osuf) : $1/%.c $$(MKDIRHIER)
$$(RM) $$@
$$(MKDIRHIER) $$(dir $$@)
$$(CC) $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_osuf) : $1/$2/build/%.c
$$(RM) $$@
$$(CC) $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_osuf) : $1/$2/build/%.$$($3_way_)s
$$(RM) $$@
$$(AS) $$($1_$2_$3_ALL_AS_OPTS) -o $$@ $$<
"$$(RM)" $$(RM_OPTS) $$@
"$$(AS)" $$($1_$2_$3_ALL_AS_OPTS) -o $$@ $$<
$1/$2/build/%.$$($3_osuf) : $1/%.S $$(MKDIRHIER)
$$(RM) $$@
$$(MKDIRHIER) $$(dir $$@)
$$(CC) $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@
$1/$2/build/%.$$($3_way_)s : $1/$2/build/%.c
$$(RM) $$@
$$(CC) $$($1_$2_$3_ALL_CC_OPTS) -S $$< -o $$@
"$$(RM)" $$(RM_OPTS) $$@
"$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -S $$< -o $$@
endif
......
......@@ -17,5 +17,5 @@ clean : clean_$1
clean_$1 : clean_$1_$2
.PHONY: clean_$1_$2
clean_$1_$2:
$(RM) -rf $3
"$$(RM)" $$(RM_OPTS) -r $3
endef
......@@ -29,8 +29,8 @@ $(call all-target,$1,html_$1)
html_$1 : $1/$2/index.html
$1/$2/index.html: $$($1_DOCBOOK_SOURCES)
$$(RM) -r $$(dir $$@)
$$(XSLTPROC) --stringparam base.dir $$(dir $$@) \
"$$(RM)" $$(RM_OPTS) -r $$(dir $$@)
"$$(XSLTPROC)" --stringparam base.dir $$(dir $$@) \
--stringparam use.id.as.filename 1 \
--stringparam html.stylesheet fptools.css \
$$(XSLTPROC_LABEL_OPTS) $$(XSLTPROC_OPTS) \
......@@ -45,7 +45,7 @@ $(call all-target,$1,ps_$1)
ps_$1 : $1/$2.ps
$1/$2.ps: $$($1_DOCBOOK_SOURCES)
$$(DBLATEX) $$(DBLATEX_OPTS) $1/$2.xml --ps -o $$@
"$$(DBLATEX)" $$(DBLATEX_OPTS) $1/$2.xml --ps -o $$@
endif
ifeq "$$(BUILD_DOCBOOK_PDF)" "YES"
......@@ -55,7 +55,7 @@ $(call all-target,$1,pdf_$1)
pdf_$1 : $1/$2.pdf
$1/$2.pdf: $$($1_DOCBOOK_SOURCES)
$$(DBLATEX) $$(DBLATEX_OPTS) $1/$2.xml --pdf -o $$@
"$$(DBLATEX)" $$(DBLATEX_OPTS) $1/$2.xml --pdf -o $$@
endif
endef
......
......@@ -34,8 +34,8 @@ $1_$2_HADDOCK_FLAGS += --hyperlink-source
endif
$$($$($1_PACKAGE)_HADDOCK_FILE) : $$(MKDIRHIER) $$(INPLACE_BIN)/haddock$$(exeext) $$(GHC_CABAL_INPLACE) $$($1_$2_HS_SRCS) $$($$($1_PACKAGE)_HADDOCK_DEPS)
$$(MKDIRHIER) $$(dir $$@)
$$(GHC_CABAL_INPLACE) haddock $2 $1 --with-haddock=$$(TOP)/$$(INPLACE_BIN)/haddock --with-ghc=$$(TOP)/$$(INPLACE_BIN)/ghc-stage2 $$($1_$2_HADDOCK_FLAGS) $$($1_$2_HADDOCK_OPTS)
"$$(MKDIRHIER)" $$(dir $$@)
"$$(GHC_CABAL_INPLACE)" haddock $2 $1 --with-haddock=$$(TOP)/$$(INPLACE_BIN)/haddock --with-ghc=$$(TOP)/$$(INPLACE_BIN)/ghc-stage2 $$($1_$2_HADDOCK_FLAGS) $$($1_$2_HADDOCK_OPTS)
# Make the haddocking depend on the library .a file, to ensure
# that we wait until the library is fully build before we haddock it
......
......@@ -19,35 +19,35 @@ define hs-suffix-rules-srcdir
ifneq "$$(BootingFromHc)" "YES"
$1/$2/build/%.hs : $1/$4/%.ly $$(MKDIRHIER)
$$(MKDIRHIER) $$(dir $$@)
$$(HAPPY) $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$(HAPPY)" $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@
$1/$2/build/%.hs : $1/$4/%.y $$(MKDIRHIER)
$$(MKDIRHIER) $$(dir $$@)
$$(HAPPY) $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$(HAPPY)" $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@
$1/$2/build/%.hs : $1/$4/%.x $$(MKDIRHIER)
$$(MKDIRHIER) $$(dir $$@)
$$(ALEX) $$($1_$2_$3_ALL_ALEX_OPTS) $$< -o $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$(ALEX)" $$($1_$2_$3_ALL_ALEX_OPTS) $$< -o $$@
$1/$2/build/%_hsc.c $1/$2/build/%_hsc.h $1/$2/build/%.hs : $1/$4/%.hsc $$(HSC2HS_INPLACE)
$$(MKDIRHIER) $$(dir $$@)
$$(HSC2HS_INPLACE) $$($1_$2_$3_ALL_HSC2HS_OPTS) $$< -o $$@
"$$(MKDIRHIER)" $$(dir $$@)
"$$(HSC2HS_INPLACE)" <