## -*-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
+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
SCRIPTLINKS += git-copyright-dates
DOTLINKS += .cgrc .tigrc
.gitconfig_SUBSTS = \
- $(call substvar,releasekey,$(call mdw-conf,releasekey,481334C2))
+ $(call substvar,releasekey,$(call mdw-conf,releasekey,481334C2)) \
+ $(call substvar,email,$(call mdw-conf,email,mdw@distorted.org.uk))
$(HOME)/.gitconfig: $(HOME)/.mdw.conf
## PulseAudio.
.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
## Random odds and ends.
DOTLINKS += .infokey .sqliterc
.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
xtoys_DEPS = mlib
DOTLINKS += .xinitrc .xsession .xmodmap .vncrc .vncsession
-DOTLINKS += .fonts.conf
+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
.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 = \
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.
dotfile-source = $(HERE)/dot/$(or $($1_SRC), $(1:.%=%)$2)