Commit | Line | Data |
---|---|---|
80cc9199 SK |
1 | MAKEFLAGS := --no-builtin-rules |
2 | ||
f908f2dc SK |
3 | DEPS := $(wildcard deps/*) |
4 | ||
0b63d662 | 5 | ifeq ($(shell uname),Darwin) |
ca0c92b8 | 6 | GREP := ggrep |
0b63d662 SK |
7 | SED := gsed |
8 | DIFF := $(shell gls -t1 /usr/local/Cellar/diffutils/*/bin/diff | head -1) | |
9 | else | |
ca0c92b8 | 10 | GREP := grep |
0b63d662 SK |
11 | SED := sed |
12 | DIFF := diff | |
13 | endif | |
14 | ||
2b497be2 | 15 | .PHONY: \ |
d03ce0c0 SK |
16 | default \ |
17 | clean \ | |
2b497be2 SK |
18 | $(DEPS) \ |
19 | deps \ | |
20 | home \ | |
ba898a09 | 21 | diff \ |
8132c0e4 | 22 | pull \ |
2b497be2 | 23 | mpdconf \ |
208d5ebf SK |
24 | pkgs_void \ |
25 | pkgs_void_update \ | |
2b497be2 SK |
26 | pkgs_brew_cask_install \ |
27 | pkgs_brew_install \ | |
dee031b5 | 28 | pkgs_cargo \ |
2b497be2 SK |
29 | pkgs_deb_install \ |
30 | pkgs_deb_purge \ | |
31 | pkgs_debian \ | |
32 | pkgs_mac \ | |
32cd449e SK |
33 | pkgs_pip_install \ |
34 | pkgs_pip_upgrade \ | |
2b497be2 SK |
35 | pkgs_snap_classic \ |
36 | pkgs_snap_strict | |
80cc9199 | 37 | |
75b7a956 SK |
38 | default: |
39 | @echo '================================================================================' | |
40 | @echo '| Default target disabled. Specify a concrete one.' | |
41 | @echo '================================================================================' | |
42 | @exit 1 | |
43 | ||
de7ac8e9 | 44 | home: mpdconf compiled |
cb7fdc22 | 45 | cp -Rp bin $(HOME)/ |
99e81ec2 SK |
46 | # Limit depth because directories are copied recursively: |
47 | find home -maxdepth 1 -print0 \ | |
ca0c92b8 | 48 | | $(GREP) -zv '^home$$' \ |
99e81ec2 | 49 | | xargs -0 -I% cp -Rp % ~ |
b2efbb10 | 50 | |
9d953881 | 51 | mpdconf: |
b602a3d1 | 52 | mkdir -p ~/arc/aud |
72db580c SK |
53 | mkdir -p ~/var/lib/mpd/playlists |
54 | mkdir -p ~/var/log/mpd | |
55 | mkdir -p ~/var/run/mpd | |
56 | cp home/.mpdconf $(HOME)/ | |
9d953881 | 57 | |
de7ac8e9 SK |
58 | compiled: |
59 | mkdir -p bin | |
60 | cd src && make | |
61 | mv src/clockloop bin/ | |
62 | ||
bf20a98b | 63 | font_cache: |
72db580c | 64 | fc-cache -fv |
bf20a98b | 65 | |
208d5ebf SK |
66 | # |
67 | # Void Linux | |
68 | # | |
69 | ||
70 | pkgs_void: | |
71 | sudo xbps-install $(shell ./list pkgs-void.list) | |
72 | ||
73 | pkgs_void_update: | |
74 | xbps-query -m | awk -F - '{sub("-" $$NF "$$", ""); print}' | sort -u > pkgs-void.list | |
75 | patch pkgs-void.list pkgs-void.list.comments.patch | |
76 | ||
5bf7b45d SK |
77 | # |
78 | # Golang | |
79 | # | |
f30c615c | 80 | pkgs_golang: list pkgs-golang.list |
036e0e3c | 81 | go get -u $(shell ./list pkgs-golang.list) |
f30c615c | 82 | |
5bf7b45d SK |
83 | # |
84 | # Ubuntu | |
85 | # | |
31b0313b SK |
86 | pkgs_ubuntu: list pkgs-ubuntu.list |
87 | sudo apt install $(shell ./list pkgs-ubuntu.list) | |
88 | ||
d03ce0c0 SK |
89 | pkgs_ubuntu_debfiles: list pkgs-ubuntu-debfiles.list |
90 | ./install-debfiles pkgs-ubuntu-debfiles.list | |
91 | ||
5bf7b45d SK |
92 | # |
93 | # PIP | |
94 | # | |
32cd449e | 95 | pkgs_pip_install: |
427362ef | 96 | pip install --user $(shell ./list pkgs-pip.list) |
32cd449e SK |
97 | |
98 | pkgs_pip_upgrade: | |
427362ef | 99 | pip install --user --upgrade $(shell ./list pkgs-pip.list) |
5bf7b45d | 100 | |
dee031b5 SK |
101 | # |
102 | # Rust (cargo) | |
103 | # | |
104 | ||
105 | pkgs_cargo: list pkgs-cargo.list | |
106 | cargo install $(shell ./list pkgs-cargo.list) | |
107 | ||
5bf7b45d SK |
108 | # |
109 | # Homebrew/Mac | |
110 | # | |
111 | ||
70300ea4 SK |
112 | pkgs_mac: |
113 | $(MAKE) pkgs_brew_install | |
114 | $(MAKE) pkgs_brew_cask_install | |
115 | ||
cfe722ba SK |
116 | # TODO: Test pkgs_brew_tap when list contains multiple items |
117 | pkgs_brew_tap: list pkgs-brew-tap.list | |
118 | brew tap $(shell ./list pkgs-brew-tap.list) | |
119 | ||
70300ea4 SK |
120 | pkgs_brew_install: list pkgs-brew-install.list |
121 | brew install $(shell ./list pkgs-brew-install.list) | |
122 | ||
123 | pkgs_brew_cask_install: list pkgs-brew-cask-install.list | |
124 | brew cask install $(shell ./list pkgs-brew-cask-install.list) | |
125 | ||
5bf7b45d SK |
126 | # |
127 | # Debian | |
128 | # | |
649af0dd SK |
129 | pkgs_deb_install: list pkgs-deb-install.list |
130 | sudo apt install $(shell ./list pkgs-deb-install.list) | |
600d3b0b | 131 | |
649af0dd SK |
132 | pkgs_deb_purge: list pkgs-deb-purge.list |
133 | sudo apt purge $(shell ./list pkgs-deb-purge.list) | |
b59a4c3b | 134 | |
5bf7b45d SK |
135 | # |
136 | # Snap | |
137 | # | |
649af0dd SK |
138 | pkgs_snap_classic: list pkgs-snap-classic.list |
139 | @$(MAKE) $(foreach p,$(shell ./list pkgs-snap-classic.list),pkg_snap_classic_$(p)) | |
6ce65841 | 140 | |
7ae05795 SK |
141 | pkgs_snap_strict: list pkgs-snap-strict.list |
142 | @$(MAKE) $(foreach p,$(shell ./list pkgs-snap-strict.list),pkg_snap_strict_$(p)) | |
143 | ||
144 | # 'snap' command comes from 'snapd' deb pkg | |
6ce65841 SK |
145 | pkg_snap_classic_%: |
146 | sudo snap install --classic $* | |
7ae05795 SK |
147 | pkg_snap_strict_%: |
148 | sudo snap install $* | |
6ce65841 | 149 | |
f908f2dc SK |
150 | deps: $(DEPS) |
151 | ||
152 | define GEN_DEP_RULE | |
153 | $(1): | |
154 | cd $1 && make | |
155 | endef | |
156 | ||
157 | $(foreach d,$(DEPS),$(eval $(call GEN_DEP_RULE,$(d)))) | |
ab64e543 SK |
158 | |
159 | diff: | |
cca3111e | 160 | find home -type f -print0 \ |
0b63d662 SK |
161 | | $(SED) -z 's/^home\///g' \ |
162 | | xargs -0 -I% sh -c 'echo %; $(DIFF) --color=always ~/% home/%' | |
d03ce0c0 | 163 | |
8132c0e4 SK |
164 | pull: |
165 | find home -type f -print0 \ | |
0b63d662 SK |
166 | | $(SED) -z 's/^home\///g' \ |
167 | | xargs -0 -I% sh -c '$(DIFF) -q ~/% home/% > /dev/null || cp ~/% home/%' | |
8132c0e4 | 168 | |
d03ce0c0 SK |
169 | clean: |
170 | rm -rf ./debfiles | |
171 | cd src && make clean |