## -*-makefile-*-
all::
+.PHONY: all
+
+clean::
+.PHONY: clean
+
.SECONDEXPANSION: #sorry
###--------------------------------------------------------------------------
dot-emacs_DEPS = make-regexp
SCRIPTLINKS += emacsclient-hack movemail-hack sendmail-hack
-SCRIPTLINKS += aspell-hack emerge-hack wakey.zsh
+SCRIPTLINKS += aspell-hack emerge-hack wakey.sh
%.elc: %.el $$(foreach e, $$($$*_DEPS), $$(DEP_$$e))
$(call v_tag,EMACS)if ! $(EMACS) >$*.build-log 2>&1 \
## Packaging machinery.
SCRIPTLINKS += mdw-build mdw-sbuild mdw-sbuild-server
SCRIPTLINKS += update-buildable-branch
+DOTLINKS += .config/mdw-build.conf
+.config/mdw-build.conf_SRC = mdw-build.conf
## Shells.
DOTLINKS += .profile .shell-rc .shell-logout
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.
.tclshrc_SRC = tclshrc
.wishrc_SRC = tclshrc
+## Jukebox things.
+MISCLINKS += lib/perl/DisOrder.pm
+lib/perl/DisOrder.pm_SRC = pl/DisOrder.pm
+SCRIPTLINKS += disorder-switch-config
+SCRIPTLINKS += disorder-autoplay
+SCRIPTLINKS += disorder-notify
+
## Random scripts.
SCRIPTLINKS += mdw-editor mdw-pager
SCRIPTLINKS += mdw-conf
SCRIPTLINKS += svnwrap
SCRIPTLINKS += guest-console
SCRIPTLINKS += hyperspec
+SCRIPTLINKS += bdl
SCRIPTLINKS += datasyms
+SCRIPTLINKS += fixsub
SCRIPTLINKS += check-debsyms
SCRIPTLINKS += check-blkdev-size
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
.mc/ini_SRC = mc-ini
.mc/panels.ini_SRC = mc-panels.ini
-DOTLINKS += .parallel/config
+DOTLINKS += .parallel/config .parallel/sshloginfile
.parallel/config_SRC = parallel-config
+.parallel/sshloginfile_SRC = parallel-hosts
all:: $(HOME)/.less
$(HOME)/.less: dot/lesskey
.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
.config/gtk-3.0/gtk.css_SRC = gtk3.css
.config/gtk-3.0/settings.ini_SRC = gtk3-settings.ini
+DOTLINKS += .config/user-dirs.dirs .config/user-dirs.locale
+.config/user-dirs.dirs_SRC = user-dirs.dirs
+.config/user-dirs.locale_SRC = user-dirs.locale
+
SCRIPTLINKS += xinitcmd lock-screen xshutdown
SCRIPTLINKS += un-backslashify-selection
SCRIPTLINKS += xpra-start-xdummy
SCRIPTLINKS += play-rawk
-SCRIPTLINKS += media-keys
-SCRIPTLINKS += disorder-notify
+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.