From 0cd3b798913ef39dd1d69b5f29b276507cd02cb8 Mon Sep 17 00:00:00 2001 Message-Id: <0cd3b798913ef39dd1d69b5f29b276507cd02cb8.1716684590.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sat, 5 May 2018 00:49:59 +0100 Subject: [PATCH] Makefile: Introduce an option to hack a prefix onto shebang lines. Organization: Straylight/Edgeware From: Mark Wooding The `Termux' distribution lives in a subdirectory of the weird Android filesystem. Rather than symlinking scripts into `~/bin', copy them and hack the shebang lines so that they can still find their interpreters properly. --- Makefile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Makefile b/Makefile index ea368f2..af5dc13 100644 --- a/Makefile +++ b/Makefile @@ -338,6 +338,19 @@ $(relax)### generated by $(HERE)/Makefile; do not edit!" \ ### Processing script links. script-source = $(HERE)/bin/$(or $($1_SRC), $1) + +ifeq ($(prefix-shebang-p),t) +all:: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)) +$(addprefix $(HOME)/bin/, $(SCRIPTLINKS)): $(HOME)/bin/%: \ + $$(call script-source,$$*) Makefile + $(call v_tag,SHEBANG)mkdir -p $(dir $@) && \ + rm -f $@.new && \ + sed "1s\(#! *\)/\1$(SHEBANG_PREFIX)/" \ + $(call script-source,$*) >$@.new && \ + chmod --reference=$(call script-source,$*) $@.new && \ + mv $@.new $@ + $(script-hook/$*) +else scriptlink-ok-p = \ $(call symlink-ok-p,$(HOME)/bin/$1,$(call script-source,$1)) all:: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)) @@ -348,6 +361,7 @@ $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)): $(HOME)/bin/%: \ ln -s $(call script-source,$*) $@.new && \ mv $@.new $@ $(script-hook/$*) +endif all:: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)) -- [mdw]