Commit | Line | Data |
---|---|---|
80cc9199 SK |
1 | MAKEFLAGS := --no-builtin-rules |
2 | ||
f908f2dc SK |
3 | DEPS := $(wildcard deps/*) |
4 | ||
2b497be2 | 5 | .PHONY: \ |
d03ce0c0 SK |
6 | default \ |
7 | clean \ | |
2b497be2 SK |
8 | $(DEPS) \ |
9 | deps \ | |
10 | home \ | |
ba898a09 | 11 | diff \ |
8132c0e4 | 12 | pull \ |
2b497be2 SK |
13 | mpdconf \ |
14 | pkgs_brew_cask_install \ | |
15 | pkgs_brew_install \ | |
16 | pkgs_deb_install \ | |
17 | pkgs_deb_purge \ | |
18 | pkgs_debian \ | |
19 | pkgs_mac \ | |
c51a3e0d | 20 | pkgs_pip \ |
2b497be2 SK |
21 | pkgs_snap_classic \ |
22 | pkgs_snap_strict | |
80cc9199 | 23 | |
75b7a956 SK |
24 | default: |
25 | @echo '================================================================================' | |
26 | @echo '| Default target disabled. Specify a concrete one.' | |
27 | @echo '================================================================================' | |
28 | @exit 1 | |
29 | ||
de7ac8e9 SK |
30 | home: mpdconf compiled |
31 | @cp -Rp bin $(HOME)/ | |
9e667c0c SK |
32 | @cp -Rp home/bin $(HOME)/ |
33 | @cp -Rp home/lib $(HOME)/ | |
57667523 | 34 | @cp home/.compton.conf $(HOME)/ |
9e667c0c | 35 | @cp -Rp home/.config/ $(HOME)/ |
f1950371 | 36 | @cp -Rp home/.newsboat/ $(HOME)/ |
9e667c0c SK |
37 | @cp home/.profile $(HOME)/ |
38 | @cp home/.fonts.conf $(HOME)/ | |
9e667c0c | 39 | @cp home/.Rprofile $(HOME)/ |
9e667c0c SK |
40 | @cp home/.tmux.conf $(HOME)/ |
41 | @cp home/.xbindkeysrc $(HOME)/ | |
b2efbb10 | 42 | |
9d953881 SK |
43 | mpdconf: |
44 | @mkdir -p ~/Archives/Audio | |
45 | @mkdir -p ~/var/lib/mpd/playlists | |
46 | @mkdir -p ~/var/log/mpd | |
47 | @mkdir -p ~/var/run/mpd | |
48 | @cp home/.mpdconf $(HOME)/ | |
49 | ||
de7ac8e9 SK |
50 | compiled: |
51 | mkdir -p bin | |
52 | cd src && make | |
53 | mv src/clockloop bin/ | |
54 | ||
bf20a98b SK |
55 | font_cache: |
56 | @fc-cache -fv | |
57 | ||
5bf7b45d SK |
58 | # |
59 | # Golang | |
60 | # | |
f30c615c SK |
61 | pkgs_golang: list pkgs-golang.list |
62 | go get $(shell ./list pkgs-golang.list) | |
63 | ||
5bf7b45d SK |
64 | # |
65 | # Ubuntu | |
66 | # | |
31b0313b SK |
67 | pkgs_ubuntu: list pkgs-ubuntu.list |
68 | sudo apt install $(shell ./list pkgs-ubuntu.list) | |
69 | ||
d03ce0c0 SK |
70 | pkgs_ubuntu_debfiles: list pkgs-ubuntu-debfiles.list |
71 | ./install-debfiles pkgs-ubuntu-debfiles.list | |
72 | ||
5bf7b45d SK |
73 | # |
74 | # PIP | |
75 | # | |
76 | pkgs_pip: | |
77 | sudo pip3 install $(shell ./list pkgs-pip.list) | |
78 | ||
79 | # | |
80 | # Homebrew/Mac | |
81 | # | |
82 | ||
70300ea4 SK |
83 | pkgs_mac: |
84 | $(MAKE) pkgs_brew_install | |
85 | $(MAKE) pkgs_brew_cask_install | |
86 | ||
cfe722ba SK |
87 | # TODO: Test pkgs_brew_tap when list contains multiple items |
88 | pkgs_brew_tap: list pkgs-brew-tap.list | |
89 | brew tap $(shell ./list pkgs-brew-tap.list) | |
90 | ||
70300ea4 SK |
91 | pkgs_brew_install: list pkgs-brew-install.list |
92 | brew install $(shell ./list pkgs-brew-install.list) | |
93 | ||
94 | pkgs_brew_cask_install: list pkgs-brew-cask-install.list | |
95 | brew cask install $(shell ./list pkgs-brew-cask-install.list) | |
96 | ||
5bf7b45d SK |
97 | # |
98 | # Debian | |
99 | # | |
649af0dd SK |
100 | pkgs_deb_install: list pkgs-deb-install.list |
101 | sudo apt install $(shell ./list pkgs-deb-install.list) | |
600d3b0b | 102 | |
649af0dd SK |
103 | pkgs_deb_purge: list pkgs-deb-purge.list |
104 | sudo apt purge $(shell ./list pkgs-deb-purge.list) | |
b59a4c3b | 105 | |
5bf7b45d SK |
106 | # |
107 | # Snap | |
108 | # | |
649af0dd SK |
109 | pkgs_snap_classic: list pkgs-snap-classic.list |
110 | @$(MAKE) $(foreach p,$(shell ./list pkgs-snap-classic.list),pkg_snap_classic_$(p)) | |
6ce65841 | 111 | |
7ae05795 SK |
112 | pkgs_snap_strict: list pkgs-snap-strict.list |
113 | @$(MAKE) $(foreach p,$(shell ./list pkgs-snap-strict.list),pkg_snap_strict_$(p)) | |
114 | ||
115 | # 'snap' command comes from 'snapd' deb pkg | |
6ce65841 SK |
116 | pkg_snap_classic_%: |
117 | sudo snap install --classic $* | |
7ae05795 SK |
118 | pkg_snap_strict_%: |
119 | sudo snap install $* | |
6ce65841 | 120 | |
f908f2dc SK |
121 | deps: $(DEPS) |
122 | ||
123 | define GEN_DEP_RULE | |
124 | $(1): | |
125 | cd $1 && make | |
126 | endef | |
127 | ||
128 | $(foreach d,$(DEPS),$(eval $(call GEN_DEP_RULE,$(d)))) | |
ab64e543 SK |
129 | |
130 | diff: | |
cca3111e SK |
131 | find home -type f -print0 \ |
132 | | sed -z 's/^home\///g' \ | |
133 | | xargs -0 -I% sh -c 'echo %; diff --color=always ~/% home/%' | |
d03ce0c0 | 134 | |
8132c0e4 SK |
135 | pull: |
136 | find home -type f -print0 \ | |
137 | | sed -z 's/^home\///g' \ | |
138 | | xargs -0 -I% sh -c 'diff -q ~/% home/% > /dev/null || cp ~/% home/%' | |
139 | ||
d03ce0c0 SK |
140 | clean: |
141 | rm -rf ./debfiles | |
142 | cd src && make clean |