-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
85 lines (60 loc) · 1.7 KB
/
Makefile
File metadata and controls
85 lines (60 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#####################
### CONFIGURATION ###
#####################
PREFIX ?= ~
BINDIR ?= bin
BACKDIR ?= backup
SOURCES = \
.vim \
.vimrc \
.gvimrc \
.bashrc \
.zshrc \
.tmux.conf \
.gitconfig \
.Xresources \
.Xresources_local \
YCM_FLAGS = \
--clang-completer
TARGETS = $(addprefix $(PREFIX)/, $(SOURCES))
BACKUPS = $(addprefix $(BACKDIR)/, $(SOURCES))
#####################
### GENERAL RULES ###
#####################
.PHONY: all
all: install
.PHONY: install
install: $(TARGETS) install_xresources install_vim install_submodules
git submodule update --init --recursive
.PHONY: uninstall
uninstall:
rm -rf $(TARGETS)
.PHONY: backup
backup:
mkdir -p $(BACKDIR)
cp -r $(TARGETS) $(BACKDIR) | true
.PHONY: restore
restore:
cp -rf $(BACKUPS) $(PREFIX)
$(PREFIX)/%: %
ln -s $(abspath $<) $@
######################
### SPECIFIC RULES ###
######################
.PHONY: install_submodules
install_submodules: | .vim/bundle/Vundle.vim/README.md
git submodule update --init --recursive
$(PREFIX)/.Xresources_local: .Xresources_local
test -e $@ || cp $< $@
.PHONY: install_xresources
install_xresources: $(PREFIX)/.Xresources $(PREFIX)/.Xresources_local
xrdb -merge $< || true
.PHONY: install_vim
install_vim: | $(PREFIX)/.vimrc $(PREFIX)/.vim install_vim_modules install_vim_module_ycm
.PHONY: install_vim_modules
install_vim_modules:
vim +PluginInstall +qall
.PHONY: install_vim_module_ycm
install_vim_module_ycm: | $(PREFIX)/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so install_vim_modules
$(PREFIX)/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so: | install_vim_modules install_submodules
cd $(PREFIX)/.vim/bundle/YouCompleteMe ; ./install.py $(YCM_FLAGS)