X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=Makefile;h=e57052a6a719faca8b1199eb9dd3c51040d3f5bf;hb=9c46353e0d3b0fdfef973e56276f104e963014ea;hp=31d0fdfb9ef3e4e78afef582103d43c09a8662c1;hpb=649af0dd124f870ac5abdfd31abb89d20795c0e0;p=khome.git diff --git a/Makefile b/Makefile index 31d0fdf..e57052a 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,22 @@ MAKEFLAGS := --no-builtin-rules -.PHONY: home pkgs_deb_install pkgs_deb_purge pkgs deps +DEPS := $(wildcard deps/*) -home: +.PHONY: \ + $(DEPS) \ + deps \ + home \ + mpdconf \ + pkgs_brew_cask_install \ + pkgs_brew_install \ + pkgs_deb_install \ + pkgs_deb_purge \ + pkgs_debian \ + pkgs_mac \ + pkgs_snap_classic \ + pkgs_snap_strict + +home: mpdconf @cp -Rp home/bin $(HOME)/ @cp -Rp home/lib $(HOME)/ @cp home/.compton.conf $(HOME)/ @@ -11,14 +25,31 @@ home: @cp home/.fonts.conf $(HOME)/ @fc-cache $(HOME)/.fonts @cp home/.Rprofile $(HOME)/ - @cp home/.mpdconf $(HOME)/ @cp home/.tmux.conf $(HOME)/ @cp home/.xbindkeysrc $(HOME)/ -pkgs: +mpdconf: + @mkdir -p ~/Archives/Audio + @mkdir -p ~/var/lib/mpd/playlists + @mkdir -p ~/var/log/mpd + @mkdir -p ~/var/run/mpd + @cp home/.mpdconf $(HOME)/ + +pkgs_debian: $(MAKE) pkgs_deb_install $(MAKE) pkgs_deb_purge $(MAKE) pkgs_snap_classic + $(MAKE) pkgs_snap_strict + +pkgs_mac: + $(MAKE) pkgs_brew_install + $(MAKE) pkgs_brew_cask_install + +pkgs_brew_install: list pkgs-brew-install.list + brew install $(shell ./list pkgs-brew-install.list) + +pkgs_brew_cask_install: list pkgs-brew-cask-install.list + brew cask install $(shell ./list pkgs-brew-cask-install.list) pkgs_deb_install: list pkgs-deb-install.list sudo apt install $(shell ./list pkgs-deb-install.list) @@ -29,9 +60,20 @@ pkgs_deb_purge: list pkgs-deb-purge.list pkgs_snap_classic: list pkgs-snap-classic.list @$(MAKE) $(foreach p,$(shell ./list pkgs-snap-classic.list),pkg_snap_classic_$(p)) -# Depends on 'snapd' deb pkg being already installed +pkgs_snap_strict: list pkgs-snap-strict.list + @$(MAKE) $(foreach p,$(shell ./list pkgs-snap-strict.list),pkg_snap_strict_$(p)) + +# 'snap' command comes from 'snapd' deb pkg pkg_snap_classic_%: sudo snap install --classic $* +pkg_snap_strict_%: + sudo snap install $* + +deps: $(DEPS) + +define GEN_DEP_RULE +$(1): + cd $1 && make +endef -deps: - @$(foreach d,$(wildcard deps/*),cd $(d) && make) +$(foreach d,$(DEPS),$(eval $(call GEN_DEP_RULE,$(d))))