From 807c317e99426f8379fc55fc4d4bc98e67ec0f41 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Fri, 25 Mar 2022 11:12:19 +0000 Subject: [PATCH] Makefile: Use single-colon rules for `all'. Alas, double-colon rules inhibit parallelism in an annoying way. --- Makefile | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index a9a4ef2..fa021c6 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ ## -*-makefile-*- -all:: +all: .PHONY: all clean:: @@ -136,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 @@ -170,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 $@ @@ -272,7 +274,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$@ $< @@ -344,12 +346,12 @@ out/firefox/: | out/ clean::; rm -rf out/ -all:: out/firefox/smartup-gestures.config +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 +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 && \ @@ -361,7 +363,7 @@ endif misclink-source = $(HERE)/$(or $($1_SRC), $1) -all:: $(addprefix $(HOME)/, $(MISCLINKS)) +all: $(addprefix $(HOME)/, $(MISCLINKS)) misclink-ok-p = \ $(call symlink-ok-p,$(HOME)/$1,$(call misclink-source,$1)) $(addprefix $(HOME)/, $(subst %,\%,$(MISCLINKS))): $(HOME)/%: \ @@ -380,7 +382,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 $@) && \ @@ -390,7 +392,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 $@) && \ @@ -403,7 +405,7 @@ $(addprefix $(HOME)/, $(subst %,\%,$(DOTCPP))): $(HOME)/%: \ substvar = -e $(call quote,s@$1@$2g) 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 $@) && \ @@ -421,7 +423,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 $@) && \ @@ -434,7 +436,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 $@) && \ @@ -444,7 +446,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. @@ -501,7 +503,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 -------------------------------------------------- -- 2.11.0