mirror of https://github.com/Chizi123/Dotfiles.git

Joel Grunbaum
2020-06-01 cd3ca3fcd2e5121b197fc67504b637b301c30044
commit | author | age
c40ea6 1 # Targets for install, can be useful to differentiate between user and headless systems
JG 2 TARGETS = home
3
4 ifeq ($(VERBOSE),1)
5     Q =
6 else
7     Q = @
8 endif
9
10 # Commands for operation
11 MKDIR = $(Q)mkdir -p
12 STOW  = $(Q)stow
13 SSTOW = $(Q)sudo stow
14 ECHO  = @echo
15
16 INSTALL_TARGETS   = $(TARGETS)
17 UNINSTALL_TARGETS = $(TARGETS:=-uninstall)
18
19 # List of all applications with stored dotfiles
cd3ca3 20 SHELLS = bash zsh all-shells
JG 21 UTILS = emacs git aspell
22 FUN = mpd ncmpcpp mailcap rtv
23 DESKTOP = libinput-gestures wallpaper-reddit
24
25 CONFIGS = $(SHELLS) $(UTILS) $(FUN) $(DESKTOP)
c40ea6 26
JG 27 all: help
28
29 .PHONY: $(CONFIGS)
30 $(CONFIGS):
31     $(STOW) -t $(HOME) $@
32
33 .PHONY: $(CONFIGS:=-del)
34 $(CONFIGS:=-del):
35     $(STOW) --delete -t $(HOME) $(@:-del=)
cd3ca3 36
JG 37 .PHONY: shells
38 shells: $(SHELLS)
39
40 .PHONY: shells-uninstall
41 shells-uninstall: $(SHELLS:=-del)
42
43 .PHONY: utils
44 utils: $(UTILS)
45
46 .PHONY: utils-uninstall
47 utils-uninstall: $(UTILS:=-del)
48
49 .PHONY: fun
50 fun: $(FUN)
51
52 .PHONY: fun-uninstall
53 fun-uninstall: $(FUN:=-del)
54
55 .PHONY: desktop
56 desktop: $(DESKTOP)
57
58 .PHONY: desktop-uninstall
59 desktop-uninstall: $(DESKTOP:=-del)
c40ea6 60
JG 61 .PHONY: $(INSTALL_TARGETS)
62 $(INSTALL_TARGETS): $(CONFIGS)
63
64 .PHONY: $(UNINSTALL_TARGETS)
65 $(UNINSTALL_TARGETS): $(CONFIGS:=-del)
66
67 .PHONY: help
68 help:
69     $(ECHO) 'use make "target"'
70     $(ECHO) 'targets:'
71     $(ECHO)    '    home(-uninstall)'
cd3ca3 72     $(ECHO) '    shells(-uninstall)'
JG 73     $(ECHO) '    utils(-uninstall)'
74     $(ECHO) '    fun(-uninstall)'
75     $(ECHO) '    desktop(-uninstall)'