1 MAKEFLAGS
:= --no-builtin-rules
3 DEPS
:= $(wildcard deps
/*)
5 ifeq ($(shell uname
),Darwin
)
7 DIFF
:= $(shell gls
-t1
/usr
/local
/Cellar
/diffutils
/*/bin
/diff | head
-1)
22 pkgs_brew_cask_install \
35 @echo
'================================================================================'
36 @echo
'| Default target disabled. Specify a concrete one.'
37 @echo
'================================================================================'
40 home
: mpdconf compiled
42 # Limit depth because directories are copied recursively:
43 find home
-maxdepth
1 -print0 \
44 | grep
-zv
'^home$$' \
45 | xargs
-0 -I
% cp
-Rp
% ~
48 mkdir
-p ~
/Archives
/Audio
49 mkdir
-p ~
/var
/lib
/mpd
/playlists
50 mkdir
-p ~
/var
/log
/mpd
51 mkdir
-p ~
/var
/run
/mpd
52 cp home
/.mpdconf
$(HOME
)/
65 pkgs_golang
: list pkgs-golang.list
66 go
get $(shell .
/list pkgs-golang.list
)
71 pkgs_ubuntu
: list pkgs-ubuntu.list
72 sudo apt
install $(shell .
/list pkgs-ubuntu.list
)
74 pkgs_ubuntu_debfiles
: list pkgs-ubuntu-debfiles.list
75 .
/install-debfiles pkgs-ubuntu-debfiles.list
81 pip3
install --user
$(shell .
/list pkgs-pip.list
)
84 pip3
install --user
--upgrade
$(shell .
/list pkgs-pip.list
)
90 pkgs_cargo
: list pkgs-cargo.list
91 cargo
install $(shell .
/list pkgs-cargo.list
)
98 $(MAKE
) pkgs_brew_install
99 $(MAKE
) pkgs_brew_cask_install
101 # TODO: Test pkgs_brew_tap when list contains multiple items
102 pkgs_brew_tap
: list pkgs-brew-tap.list
103 brew tap
$(shell .
/list pkgs-brew-tap.list
)
105 pkgs_brew_install
: list pkgs-brew-install.list
106 brew
install $(shell .
/list pkgs-brew-install.list
)
108 pkgs_brew_cask_install
: list pkgs-brew-cask-install.list
109 brew cask
install $(shell .
/list pkgs-brew-cask-install.list
)
114 pkgs_deb_install
: list pkgs-deb-install.list
115 sudo apt
install $(shell .
/list pkgs-deb-install.list
)
117 pkgs_deb_purge
: list pkgs-deb-purge.list
118 sudo apt purge
$(shell .
/list pkgs-deb-purge.list
)
123 pkgs_snap_classic
: list pkgs-snap-classic.list
124 @
$(MAKE
) $(foreach p
,$(shell .
/list pkgs-snap-classic.list
),pkg_snap_classic_
$(p
))
126 pkgs_snap_strict
: list pkgs-snap-strict.list
127 @
$(MAKE
) $(foreach p
,$(shell .
/list pkgs-snap-strict.list
),pkg_snap_strict_
$(p
))
129 # 'snap' command comes from 'snapd' deb pkg
131 sudo snap
install --classic
$*
142 $(foreach d
,$(DEPS
),$(eval
$(call GEN_DEP_RULE
,$(d
))))
145 find home
-type f
-print0 \
146 |
$(SED
) -z
's/^home\///g' \
147 | xargs
-0 -I
% sh
-c
'echo %; $(DIFF) --color=always ~/% home/%'
150 find home
-type f
-print0 \
151 |
$(SED
) -z
's/^home\///g' \
152 | xargs
-0 -I
% sh
-c
'$(DIFF) -q ~/% home/% > /dev/null || cp ~/% home/%'