X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/3f7369a90c4388e2ed75e62baa28206f25f09db3..56564da5cea0aa624aff69826615d098ea04e884:/Makefile diff --git a/Makefile b/Makefile index 07a27fe..222d6ce 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,11 @@ ## -*-makefile-*- all:: +.PHONY: all + +clean:: +.PHONY: clean + .SECONDEXPANSION: #sorry ###-------------------------------------------------------------------------- @@ -24,7 +29,8 @@ V = 0 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,$2); +v_print_0 = \ + printf " %-8s %s\n" "$1" $(call quote,$(patsubst $(HOME)/%,~/%,$2)); v_tag = $(V_AT)$(call v_print_$V,$1,$@) ## Hack. @@ -91,7 +97,7 @@ ELISP += dot-emacs 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 \ @@ -150,6 +156,8 @@ checkpath_DEPS = mlib ## 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 @@ -180,7 +188,8 @@ DOTSUBST += .gitconfig SCRIPTLINKS += git-copyright-dates DOTLINKS += .cgrc .tigrc .gitconfig_SUBSTS = \ - $(call substvar,releasekey,$(call mdw-conf,release-key,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. @@ -215,12 +224,24 @@ DOTLINKS += .tclshrc .wishrc .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 @@ -246,8 +267,9 @@ DOTLINKS += .mc/ini .mc/panels.ini .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 @@ -264,12 +286,10 @@ xtoys_CHECK = xatom 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 @@ -288,16 +308,19 @@ DOTLINKS += .config/gtk-3.0/settings.ini .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 = \ @@ -307,6 +330,47 @@ 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. dotfile-source = $(HERE)/dot/$(or $($1_SRC), $(1:.%=%)$2)