X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rules%2Fshell-wrapper.mk;h=5cc10dc3470ddbe195600dfea284aa4d351c721f;hp=acdb06e72d86243f19220fc6c9fb8d46f5a40827;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hpb=0ef6ba7b28187a4bf5309f9702eeaf53a281204b diff --git a/rules/shell-wrapper.mk b/rules/shell-wrapper.mk index acdb06e..5cc10dc 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,14 +64,20 @@ 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)" $$(RM_OPTS) $$(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)" + $$($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 @@ -72,4 +85,5 @@ endif endif # $1_$2_SHELL_WRAPPER +$(call profEnd, shell-wrapper($1,$2)) endef