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

Joel Grunbaum
2020-06-20 e3a754e0e90618cc05fadc79e1fb0f9a08f40e7b
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
e3a754 37 .PHONY: emacs
JG 38 emacs:
39     git submodule update --init
40     $(STOW) -t $(HOME) $@
41
cd3ca3 42 .PHONY: shells
JG 43 shells: $(SHELLS)
44
45 .PHONY: shells-uninstall
46 shells-uninstall: $(SHELLS:=-del)
47
48 .PHONY: utils
49 utils: $(UTILS)
50
51 .PHONY: utils-uninstall
52 utils-uninstall: $(UTILS:=-del)
53
54 .PHONY: fun
55 fun: $(FUN)
56
57 .PHONY: fun-uninstall
58 fun-uninstall: $(FUN:=-del)
59
60 .PHONY: desktop
61 desktop: $(DESKTOP)
62
63 .PHONY: desktop-uninstall
64 desktop-uninstall: $(DESKTOP:=-del)
c40ea6 65
JG 66 .PHONY: $(INSTALL_TARGETS)
67 $(INSTALL_TARGETS): $(CONFIGS)
68
69 .PHONY: $(UNINSTALL_TARGETS)
70 $(UNINSTALL_TARGETS): $(CONFIGS:=-del)
71
72 .PHONY: help
73 help:
74     $(ECHO) 'use make "target"'
75     $(ECHO) 'targets:'
76     $(ECHO)    '    home(-uninstall)'
cd3ca3 77     $(ECHO) '    shells(-uninstall)'
JG 78     $(ECHO) '    utils(-uninstall)'
79     $(ECHO) '    fun(-uninstall)'
80     $(ECHO) '    desktop(-uninstall)'