el/dot-emacs.el: Defeat AUC-TeX's horrible fontification.
[profile] / Makefile
index ea368f2..000074c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -33,7 +33,7 @@ relax                  =
 ### Configuration.
 
 ## Figure out where I am.
-HERE                    = $(shell pwd)
+HERE                   := $(shell pwd)
 
 ## Decide on how to fetch things from URLs.
 ifeq ($(shell (curl >/dev/null 2>&1 --version || [ $$? -eq 2 ]) && echo t),t)
@@ -46,8 +46,9 @@ endif
 EMACS                  := $(shell \
        emacs=nil; \
        for i in emacs24 emacs23 emacs22 emacs21 emacs; do \
-         if type >/dev/null 2>&1 $$i; then echo $$i; break; fi; \
-       done)
+         if type >/dev/null 2>&1 $$i; then emacs=$$i; break; fi; \
+       done; \
+       echo $$emacs)
 
 ## Whence to obtain externally hosted stuff.
 REPO                    = https://ftp.distorted.org.uk/u/mdw/profile
@@ -69,7 +70,8 @@ ifneq ($(EMACS),nil)
 EMACSLIB                = $(HOME)/lib/emacs
 
 EMACS_VERSION          := $(shell $(EMACS) 2>&1 -Q --batch --eval \
-       '(message "%s %s" emacs-major-version emacs-minor-version)')
+       '(message "%s %s" emacs-major-version emacs-minor-version)' | \
+       tail -n1)
 emacs-version-p                 = $(shell set -- $(EMACS_VERSION); \
        if [ $$1 -gt $1 ] || ([ $$1 -eq $1 ] && [ $$2 -ge $2 ]); then \
          echo t; \
@@ -338,6 +340,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\a\(#! *\)/\a\1$(SHEBANG_PREFIX)/\a" \
+                       $(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 +363,7 @@ $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)): $(HOME)/bin/%: \
                ln -s $(call script-source,$*) $@.new && \
                mv $@.new $@
        $(script-hook/$*)
+endif
 
 all:: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS))