Add Mac/homebrew packages
[khome.git] / Makefile
1 MAKEFLAGS := --no-builtin-rules
2
3 DEPS := $(wildcard deps/*)
4
5 .PHONY: home pkgs_deb_install pkgs_deb_purge pkgs_debian pkgs_mac pkgs_brew_install pkgs_brew_cask_install deps $(DEPS) pkgs_snap_classic pkgs_snap_strict mpdconf
6
7 home: mpdconf
8 @cp -Rp home/bin $(HOME)/
9 @cp -Rp home/lib $(HOME)/
10 @cp home/.compton.conf $(HOME)/
11 @cp -Rp home/.config/ $(HOME)/
12 @cp home/.profile $(HOME)/
13 @cp home/.fonts.conf $(HOME)/
14 @fc-cache $(HOME)/.fonts
15 @cp home/.Rprofile $(HOME)/
16 @cp home/.tmux.conf $(HOME)/
17 @cp home/.xbindkeysrc $(HOME)/
18
19 mpdconf:
20 @mkdir -p ~/Archives/Audio
21 @mkdir -p ~/var/lib/mpd/playlists
22 @mkdir -p ~/var/log/mpd
23 @mkdir -p ~/var/run/mpd
24 @cp home/.mpdconf $(HOME)/
25
26 pkgs_debian:
27 $(MAKE) pkgs_deb_install
28 $(MAKE) pkgs_deb_purge
29 $(MAKE) pkgs_snap_classic
30 $(MAKE) pkgs_snap_strict
31
32 pkgs_mac:
33 $(MAKE) pkgs_brew_install
34 $(MAKE) pkgs_brew_cask_install
35
36 pkgs_brew_install: list pkgs-brew-install.list
37 brew install $(shell ./list pkgs-brew-install.list)
38
39 pkgs_brew_cask_install: list pkgs-brew-cask-install.list
40 brew cask install $(shell ./list pkgs-brew-cask-install.list)
41
42 pkgs_deb_install: list pkgs-deb-install.list
43 sudo apt install $(shell ./list pkgs-deb-install.list)
44
45 pkgs_deb_purge: list pkgs-deb-purge.list
46 sudo apt purge $(shell ./list pkgs-deb-purge.list)
47
48 pkgs_snap_classic: list pkgs-snap-classic.list
49 @$(MAKE) $(foreach p,$(shell ./list pkgs-snap-classic.list),pkg_snap_classic_$(p))
50
51 pkgs_snap_strict: list pkgs-snap-strict.list
52 @$(MAKE) $(foreach p,$(shell ./list pkgs-snap-strict.list),pkg_snap_strict_$(p))
53
54 # 'snap' command comes from 'snapd' deb pkg
55 pkg_snap_classic_%:
56 sudo snap install --classic $*
57 pkg_snap_strict_%:
58 sudo snap install $*
59
60 deps: $(DEPS)
61
62 define GEN_DEP_RULE
63 $(1):
64 cd $1 && make
65 endef
66
67 $(foreach d,$(DEPS),$(eval $(call GEN_DEP_RULE,$(d))))
This page took 0.081498 seconds and 5 git commands to generate.