X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=Makefile;h=988af3aeefd32e06893067a2e52cd7ade2647be9;hb=288fa35b7d73038be91ef7037e8ccd0ea690e66f;hp=a56f6e7640b751dd714e2ce6f0c6e18c1e66d229;hpb=a97a6e0971b900d8068bb07ca52841157c0ab378;p=khome.git diff --git a/Makefile b/Makefile index a56f6e7..988af3a 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ MAKEFLAGS := --no-builtin-rules +SHELL := /bin/bash DEPS := $(wildcard deps/*) @@ -21,7 +22,7 @@ endif diff \ pull \ push \ - mpdconf_dirs \ + dirs \ pkgs_void \ pkgs_void_update \ pkgs_brew_cask_install \ @@ -42,13 +43,18 @@ default: @echo '================================================================================' @exit 1 -home: compiled | mpdconf_dirs +home: compiled dirs cp -Rp bin $(HOME)/ $(MAKE) push xdg-user-dirs-update -mpdconf_dirs: +dirs: mkdir -p ~/arc/aud + mkdir -p ~/arc/img + mkdir -p ~/arc/vid + mkdir -p ~/dl + mkdir -p ~/doc + mkdir -p ~/proj/{pub,priv} mkdir -p ~/var/lib/mpd/playlists mkdir -p ~/var/log/mpd mkdir -p ~/var/run/mpd @@ -69,7 +75,7 @@ pkgs_void: sudo xbps-install $(shell ./list pkgs-void.list) pkgs_void_update: - xbps-query -m | awk -F - '{sub("-" $$NF "$$", ""); print}' | sort -u > pkgs-void.list + xbps-query -m | awk -F - '{sub("-" $$NF "$$", ""); print}' | sort -u | grep -vf <(./list -v sep='\n' -v end='\n' pkgs-void-src.list) > pkgs-void.list (echo '#'; ./patch-comments pkgs-void.list.comments pkgs-void.list) | sponge pkgs-void.list # @@ -157,6 +163,7 @@ $(foreach d,$(DEPS),$(eval $(call GEN_DEP_RULE,$(d)))) diff: find home -type f -print0 \ | $(SED) -z 's/^home\///g' \ + | sort -zr \ | xargs -0 -I% sh -c 'echo %; $(DIFF) --color=auto ~/% home/%' pull: @@ -165,6 +172,10 @@ pull: | xargs -0 -I% sh -c '$(DIFF) -q ~/% home/% > /dev/null || cp ~/% home/%' push: + # TODO Backup files before replacing. + # But - recursive copy is not a good strategy for this. + # Need to do a file by file pass, like the diff recipe. + # # Limit depth because directories are copied recursively: find home -maxdepth 1 -print0 \ | $(GREP) -zv '^home$$' \