## Silent rules machinery.
V = 0
-v_tag = $(call v_tag_$V,$1,$2)
-v_tag_0 = @printf " %-8s %s\n" "$1" $(call quote,$@);
V_AT = $(V_AT_$V)
V_AT_0 = @
+v_print = $(call v_print_$V,$1,$2)
+v_print_0 = \
+ printf " %-8s %s\n" "$1" $(call quote,$(patsubst $(HOME)/%,~/%,$2));
+v_tag = $(V_AT)$(call v_print_$V,$1,$@)
## Hack.
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)
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
.bash_logout_SRC = shell-logout
.zlogout_SRC = shell-logout
+all::
+ $(V_AT)if [ $(HOME)/.zcompdump -ot dot/zshrc ]; then \
+ $(call v_print,ZAP,$(HOME)/.zcompdump)rm -f $(HOME)/.zcompdump; \
+ fi
+
## The Plan 9 `rc' shell. This needs special hacking, because the Linux port
## and Plan 9 From User Space have incompatible syntax.
DOTLINKS += lib/profile
SCRIPTLINKS += hyperspec
## Random odds and ends.
-DOTLINKS += .lesskey .infokey .sqliterc
+DOTLINKS += .infokey .sqliterc
DOTLINKS += .gdbinit .toprc .aspell.conf
DOTLINKS += .dircolors .colordiffrc .screenrc .tmux.conf
DOTLINKS += .cvsrc .indent.pro .ditz-config
DOTLINKS += .parallel/config
.parallel/config_SRC = parallel-config
+all:: $(HOME)/.less
+$(HOME)/.less: dot/lesskey
+ $(V_AT)rm -f $(HOME)/.lesskey
+ $(call v_tag,LESSKEY)lesskey -o$@ $<
+
###--------------------------------------------------------------------------
### X11 configuration.
SCRIPTLINKS += un-backslashify-selection
SCRIPTLINKS += xpra-start-xdummy
SCRIPTLINKS += play-rawk
+SCRIPTLINKS += media-keys
+SCRIPTLINKS += disorder-notify
DOTCPP += .Xdefaults
Xdefaults_DEFS = -DEMACSWD=$(call mdw-conf,emacs-width,77)