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