chiark / gitweb /
dot/emacs: Bind a key to `magit-toggle-buffer-lock'.
[profile] / Makefile
index eda523ca562cddc867c9adde8b13fc6a33032b80..4388fe75bb5a023e68b870d9b9f4fd8b66547274 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,11 @@
 ## -*-makefile-*-
 
-all::
+all:
+.PHONY: all
+
+clean::
+.PHONY: clean
+
 .SECONDEXPANSION: #sorry
 
 ###--------------------------------------------------------------------------
@@ -131,7 +136,7 @@ $(addprefix $(EMACSLIB)/, $(REMOTE_ELISP)): $(EMACSLIB)/%:
 
 DOTLINKS               += .emacs .emacs-calc .vm .gnus.el .ercrc.el
 
-all:: $(foreach e, $(ELISP), $(DEP_$e))
+all: $(foreach e, $(ELISP), $(DEP_$e))
 $(foreach e, $(ELISP), $(eval _emacs.$e: $(EMACSLIB)/$e.elc))
 
 endif
@@ -165,16 +170,18 @@ DOTLINKS          += .bashrc .inputrc
 .bash_logout_SRC        = shell-logout
 .zlogout_SRC            = shell-logout
 
-all::
+all: zap-stale-zcompdump
+zap-stale-zcompdump:
        $(V_AT)if [ $(HOME)/.zcompdump -ot dot/zshrc ]; then \
          $(call v_print,ZAP,$(HOME)/.zcompdump)rm -f $(HOME)/.zcompdump; \
        fi
+.PHONY: zap-stale-zcompdump
 
 ## 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
 lib/profile_SRC                 = rcrc
-all:: $(HOME)/.rcrc
+all: $(HOME)/.rcrc
 $(HOME)/.rcrc: dot/rcrc
        $(call v_tag,SED)sed 's/; if not/else/' $< >$@.new && mv $@.new $@
 
@@ -200,11 +207,14 @@ DOTLINKS          += .vimrc .mg .zile
 DOTLINKS               += .mailrc .signature .muttrc
 
 ## Lisp.
-DOTLINKS               += .cmucl-init.lisp .sbclrc .clisprc.lisp .eclrc
+DOTLINKS               += .cmucl-init.lisp .sbclrc .clisprc.lisp
+DOTLINKS               += .eclrc .ccl-init.lisp .abclrc
 .cmucl-init.lisp_SRC    = lisp-init.lisp
 .sbclrc_SRC             = lisp-init.lisp
 .clisprc.lisp_SRC       = lisp-init.lisp
 .eclrc_SRC              = lisp-init.lisp
+.ccl-init.lisp_SRC      = lisp-init.lisp
+.abclrc_SRC             = lisp-init.lisp
 DOTLINKS               += .swank.lisp
 
 ## IPython.
@@ -219,6 +229,13 @@ DOTLINKS           += .tclshrc .wishrc
 .tclshrc_SRC            = tclshrc
 .wishrc_SRC             = tclshrc
 
+## The `nocss' machinery.
+SCRIPTLINKS            += nocss
+all: $(HOME)/lib/hacks/nocss/libdvdcss.so.2
+$(HOME)/lib/hacks/nocss/libdvdcss.so.2:
+       $(V_AT)mkdir -p $(dir $@)
+       $(call v_tag,TOUCH)touch $@
+
 ## Random scripts.
 SCRIPTLINKS            += mdw-editor mdw-pager
 SCRIPTLINKS            += mdw-conf
@@ -230,6 +247,9 @@ SCRIPTLINKS         += datasyms
 SCRIPTLINKS            += fixsub
 SCRIPTLINKS            += check-debsyms
 SCRIPTLINKS            += check-blkdev-size
+SCRIPTLINKS            += xremote
+SCRIPTLINKS            += remote-disorder
+SCRIPTLINKS            += remote-slideshow
 
 ## Random odds and ends.
 DOTLINKS               += .infokey .sqliterc
@@ -238,6 +258,8 @@ DOTLINKS            += .dircolors .colordiffrc .screenrc .tmux.conf
 DOTLINKS               += .cvsrc .indent.pro .ditz-config
 DOTLINKS               += .lftp/rc
 .lftp/rc_SRC            = lftp-rc
+DOTLINKS               += .a2ps/a2psrc
+.a2ps/a2psrc_SRC        = a2psrc
 DOTSUBST               += .mykermrc
 SCRIPTLINKS            += lesspipe.sh
 
@@ -259,7 +281,7 @@ DOTLINKS            += .parallel/config .parallel/sshloginfile
 .parallel/config_SRC    = parallel-config
 .parallel/sshloginfile_SRC = parallel-hosts
 
-all:: $(HOME)/.less
+all: $(HOME)/.less
 $(HOME)/.less: dot/lesskey
        $(V_AT)rm -f $(HOME)/.lesskey
        $(call v_tag,LESSKEY)lesskey -o$@ $<
@@ -278,9 +300,6 @@ DOTLINKS            += .config/fontconfig/fonts.conf
 .config/fontconfig/fonts.conf_SRC = fonts.conf
 DOTLINKS               += .stalonetrayrc
 
-DOTLINKS               += .putty/sessions/Default%20Settings
-.putty/sessions/Default%20Settings_SRC = putty-defaults
-
 DOTLINKS               += .config/gnome-session/sessions/mdw.session
 .config/gnome-session/sessions/mdw.session_SRC = mdw.session
 
@@ -307,21 +326,61 @@ SCRIPTLINKS               += xinitcmd lock-screen xshutdown
 SCRIPTLINKS            += un-backslashify-selection
 SCRIPTLINKS            += xpra-start-xdummy
 SCRIPTLINKS            += play-rawk
-SCRIPTLINKS            += media-keys
-SCRIPTLINKS            += disorder-notify
+SCRIPTLINKS            += x2x-privsep
 SCRIPTLINKS            += xduplic-terminal
 
 DOTCPP                 += .Xdefaults
 Xdefaults_DEFS          = -DEMACSWD=$(call mdw-conf,emacs-width,77)
-$(HOME)/.Xdefaults: $(HOME)/.mdw.conf
+$(HOME)/.Xdefaults: $(HOME)/.mdw.conf dot/Xdefaults.pterm
 
 ifeq ($(shell case $${DISPLAY-nil} in (:[0-9]*) echo t ;; (*) echo nil ;; esac),t)
 dotfile-hook/.Xdefaults = \
-       $(call v_tag,XRDB)xrdb -override $<
+       $(call v_tag,XRDB)xrdb -load $<
+endif
+
 endif
 
+###--------------------------------------------------------------------------
+### Firefox things.
+
+ifeq ($(FIREFOX),t)
+
+out/:
+       $(call v_tag,MKDIR)mkdir $@
+
+out/firefox/: | out/
+       $(call v_tag,MKDIR)mkdir $@
+
+clean::; rm -rf out/
+
+all: out/firefox/smartup-gestures.config
+out/firefox/smartup-gestures.config: firefox/smartup-gestures.json | out/firefox/
+       $(call v_tag,BLOB)\
+               jq -c . $< | bincode base64 >$@.new && mv $@.new $@
+
+all: out/firefox/stylus.json
+out/firefox/stylus.json: firefox/stylus/ firefox/stylus/*.css | out/firefox/
+       $(call v_tag,IMPLODE)\
+               firefox/implode-stylus firefox/stylus/ >$@.new && \
+                       mv $@.new $@
 endif
 
+###--------------------------------------------------------------------------
+### General symlinking.
+
+misclink-source                 = $(HERE)/$(or $($1_SRC), $1)
+
+all: $(addprefix $(HOME)/, $(MISCLINKS))
+misclink-ok-p           = \
+       $(call symlink-ok-p,$(HOME)/$1,$(call misclink-source,$1))
+$(addprefix $(HOME)/, $(subst %,\%,$(MISCLINKS))): $(HOME)/%: \
+               $$(if $$(call misclink-ok-p,$$*),,_force)
+       $(call v_tag,SYMLINK)mkdir -p $(dir $@) && \
+               rm -f $@.new && \
+               ln -s $(call misclink-source,$*) $@.new && \
+               mv $@.new $@
+       $(symlink-hook/$*)
+
 ###--------------------------------------------------------------------------
 ### Processing dotfiles.
 
@@ -330,7 +389,7 @@ dotfile-source               = $(HERE)/dot/$(or $($1_SRC), $(1:.%=%)$2)
 ## Easiest: just make symlinks.
 dotlink-ok-p            = \
        $(call symlink-ok-p,$(HOME)/$1,$(call dotfile-source,$1))
-all:: $(addprefix $(HOME)/, $(DOTLINKS))
+all: $(addprefix $(HOME)/, $(DOTLINKS))
 $(addprefix $(HOME)/, $(subst %,\%,$(DOTLINKS))): $(HOME)/%: \
                $$(if $$(call dotlink-ok-p,$$*),,_force)
        $(call v_tag,SYMLINK)mkdir -p $(dir $@) && \
@@ -340,7 +399,7 @@ $(addprefix $(HOME)/, $(subst %,\%,$(DOTLINKS))): $(HOME)/%: \
        $(dotfile-hook/$*)
 
 ## Hack with the C preprocessor.
-all:: $(addprefix $(HOME)/, $(DOTCPP))
+all: $(addprefix $(HOME)/, $(DOTCPP))
 $(addprefix $(HOME)/, $(subst %,\%,$(DOTCPP))): $(HOME)/%: \
                $$(call dotfile-source,$$*) Makefile
        $(call v_tag,CPP)mkdir -p $(dir $@) && \
@@ -353,7 +412,7 @@ $(addprefix $(HOME)/, $(subst %,\%,$(DOTCPP))): $(HOME)/%: \
 substvar                = -e $(call quote,s\a@$1@\a$2\ag)
 SUBSTS                 += $(call substvar,home,$(HOME))
 SUBSTS                 += $(call substvar,profile,$(HERE))
-all:: $(addprefix $(HOME)/, $(DOTSUBST))
+all: $(addprefix $(HOME)/, $(DOTSUBST))
 $(addprefix $(HOME)/, $(subst %,\%,$(DOTSUBST))): $(HOME)/%: \
                $$(call dotfile-source,$$*,.in) Makefile
        $(call v_tag,SUBST)mkdir -p $(dir $@) && \
@@ -371,7 +430,7 @@ $(relax)### generated by $(HERE)/Makefile; do not edit!" \
 script-source           = $(HERE)/bin/$(or $($1_SRC), $1)
 
 ifeq ($(prefix-shebang-p),t)
-all:: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS))
+all: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS))
 $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)): $(HOME)/bin/%: \
                $$(call script-source,$$*) Makefile
        $(call v_tag,SHEBANG)mkdir -p $(dir $@) && \
@@ -384,7 +443,7 @@ $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)): $(HOME)/bin/%: \
 else
 scriptlink-ok-p                 = \
        $(call symlink-ok-p,$(HOME)/bin/$1,$(call script-source,$1))
-all:: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS))
+all: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS))
 $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)): $(HOME)/bin/%: \
                $$(if $$(call scriptlink-ok-p,$$*),,_force)
        $(call v_tag,SYMLINK)mkdir -p $(dir $@) && \
@@ -394,7 +453,7 @@ $(addprefix $(HOME)/bin/, $(SCRIPTLINKS)): $(HOME)/bin/%: \
        $(script-hook/$*)
 endif
 
-all:: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS))
+all: $(addprefix $(HOME)/bin/, $(SCRIPTLINKS))
 
 ###--------------------------------------------------------------------------
 ### Building packages from source tarballs.
@@ -451,7 +510,7 @@ $(foreach p, $(PACKAGES), $(call pkg-stamp,$p,install)): \
                touch install-stamp
        $(package-hook/$*)
 
-all:: $(foreach p, $(PACKAGES), $(DEP_$p))
+all: $(foreach p, $(PACKAGES), $(DEP_$p))
 $(foreach p, $(PACKAGES), $(eval _pkg.$p: $(call pkg-stamp,$p,install)))
 
 ###----- That's all, folks --------------------------------------------------