dot/swank.lisp: Actually delete the Swank contrib clobbering.
[profile] / Makefile
index a23e263..222d6ce 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,11 @@
 ## -*-makefile-*-
 
 all::
+.PHONY: all
+
+clean::
+.PHONY: clean
+
 .SECONDEXPANSION: #sorry
 
 ###--------------------------------------------------------------------------
@@ -219,6 +224,13 @@ 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
@@ -304,8 +316,6 @@ 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
@@ -320,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)