X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fshell-wrapper.mk;h=64339576c6a62917f4209afefcb8be50571b76bd;hb=001b9a4d8b5e3f120c419c6f6fa3dd67b1d6cd9e;hp=312504e27873940ee5b4879af887f96ee209fa07;hpb=4a5569ff37ae771560e56b564f3b15477b828a79;p=ghc-hetmet.git diff --git a/rules/shell-wrapper.mk b/rules/shell-wrapper.mk index 312504e..6433957 100644 --- a/rules/shell-wrapper.mk +++ b/rules/shell-wrapper.mk @@ -11,6 +11,8 @@ # ----------------------------------------------------------------------------- define shell-wrapper +$(call trace, shell-wrapper($1,$2)) +$(call profStart, shell-wrapper($1,$2)) # $1 = dir # $2 = distdir @@ -32,12 +34,17 @@ endif 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 '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 @@ -57,15 +64,21 @@ 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: - $$(INSTALL_DIR) $$(DESTDIR)$$(bindir) - "$$(RM)" $$(RM_OPTS) $$(WRAPPER) - $$(CREATE_SCRIPT) $$(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) + $$(call INSTALL_DIR,"$$(DESTDIR)$$(bindir)") + "$$(RM)" $$(RM_OPTS) "$$(WRAPPER)" + $$(CREATE_SCRIPT) "$$(WRAPPER)" + echo '#!$$(SHELL)' >> "$$(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_INSTALL_SHELL_WRAPPER @@ -73,4 +86,5 @@ endif endif # $1_$2_SHELL_WRAPPER +$(call profEnd, shell-wrapper($1,$2)) endef