# -----------------------------------------------------------------------------
define shell-wrapper
+$(call trace, shell-wrapper($1,$2))
+$(call profStart, shell-wrapper($1,$2))
# $1 = dir
# $2 = distdir
ifneq "$$($1_$2_INSTALL_INPLACE)" "NO"
all_$1_$2 : $$(INPLACE_BIN)/$$($1_$2_PROG)
-$$(INPLACE_BIN)/$$($1_$2_PROG): $$($1_$2_INPLACE)
+$$(INPLACE_BIN)/$$($1_$2_PROG): WRAPPER=$$@
+$$(INPLACE_BIN)/$$($1_$2_PROG): $$($1_$2_INPLACE) $$($1_$2_SHELL_WRAPPER_NAME)
"$$(RM)" $$(RM_OPTS) $$@
echo '#!$$(SHELL)' >> $$@
echo 'executablename="$$(TOP)/$$<"' >> $$@
echo 'datadir="$$(TOP)/$$(INPLACE_LIB)"' >> $$@
echo 'bindir="$$(TOP)/$$(INPLACE_BIN)"' >> $$@
echo 'topdir="$$(TOP)/$$(INPLACE_TOPDIR)"' >> $$@
+ echo 'pgmgcc="$$(WhatGccIsCalled)"' >> $$@
+ $$($1_$2_SHELL_WRAPPER_EXTRA)
+ $$($1_$2_INPLACE_SHELL_WRAPPER_EXTRA)
cat $$($1_$2_SHELL_WRAPPER_NAME) >> $$@
$$(EXECUTABLE_FILE) $$@
endif
.PHONY: install_$1_$2_wrapper
install_$1_$2_wrapper: WRAPPER=$$(DESTDIR)$$(bindir)/$$($1_$2_INSTALL_SHELL_WRAPPER_NAME)
install_$1_$2_wrapper:
- $$(INSTALL_DIR) $$(DESTDIR)$$(bindir)
+ $$(call INSTALL_DIR,"$$(DESTDIR)$$(bindir)")
"$$(RM)" $$(RM_OPTS) "$$(WRAPPER)"
$$(CREATE_SCRIPT) "$$(WRAPPER)"
echo '#!$$(SHELL)' >> "$$(WRAPPER)"
- echo 'executablename="$$(ghclibexecdir)/$$($1_$2_PROG)"' >> "$$(WRAPPER)"
+ echo 'exedir="$$(ghclibexecdir)"' >> "$$(WRAPPER)"
+ echo 'exeprog="$$($1_$2_PROG)"' >> "$$(WRAPPER)"
+ echo 'executablename="$$$$exedir/$$$$exeprog"' >> "$$(WRAPPER)"
echo 'datadir="$$(datadir)"' >> "$$(WRAPPER)"
echo 'bindir="$$(bindir)"' >> "$$(WRAPPER)"
echo 'topdir="$$(topdir)"' >> "$$(WRAPPER)"
+ echo 'pgmgcc="$$(WhatGccIsCalled)"' >> "$$(WRAPPER)"
+ $$($1_$2_SHELL_WRAPPER_EXTRA)
+ $$($1_$2_INSTALL_SHELL_WRAPPER_EXTRA)
cat $$($1_$2_SHELL_WRAPPER_NAME) >> "$$(WRAPPER)"
$$(EXECUTABLE_FILE) "$$(WRAPPER)"
endif # $1_$2_SHELL_WRAPPER
+$(call profEnd, shell-wrapper($1,$2))
endef