2 |
2 |
3 ifeq '' '$(HOME)' |
3 ifeq '' '$(HOME)' |
4 $(error Home env var not set!) |
4 $(error Home env var not set!) |
5 endif |
5 endif |
6 |
6 |
7 .PHONY: all install install-all |
7 .PHONY: all install preinstall install-all preinstall-all update-dot-emacs-pre update-dot-emacs-post |
8 |
8 |
9 all: install |
9 all: install |
10 |
10 |
11 install: .emacs .emacs-my .emacs-pre .emacs-post |
11 install: preinstall update-dot-emacs-pre update-dot-emacs-post |
|
12 |
|
13 preinstall: .emacs .emacs-my .emacs-pre .emacs-post |
12 for file in .emacs-pre .emacs-post; do \ |
14 for file in .emacs-pre .emacs-post; do \ |
13 if [ ! -f $(HOME)/$$file ]; then cp $$file $(HOME)/$$file; fi; \ |
15 if [ ! -f $(HOME)/$$file ]; then cp $$file $(HOME)/$$file; fi; \ |
14 done |
16 done |
15 cp .emacs $(HOME)/.emacs |
17 cp .emacs $(HOME)/.emacs |
16 cp .emacs-my $(HOME)/.emacs-my |
18 cp .emacs-my $(HOME)/.emacs-my |
17 |
19 |
18 install-all: .emacs .emacs-my .emacs-pre .emacs-post |
20 install-all: preinstall-all update-dot-emacs-pre update-dot-emacs-post |
|
21 |
|
22 preinstall-all: .emacs .emacs-my .emacs-pre .emacs-post |
19 for file in $^; do \ |
23 for file in $^; do \ |
20 cp $$file $(HOME)/$$file; \ |
24 cp $$file $(HOME)/$$file; \ |
|
25 done |
|
26 |
|
27 update-dot-emacs-pre: |
|
28 for file in `cd template-pre; ls *.el`; do \ |
|
29 tag=$${file%.el}; \ |
|
30 if grep "DO NOT EDIT COMMENT! TAG: $$tag" $(HOME)/.emacs-pre; then \ |
|
31 :; \ |
|
32 else \ |
|
33 cat template-pre/$$file >>$(HOME)/.emacs-pre; \ |
|
34 fi; \ |
|
35 done |
|
36 |
|
37 update-dot-emacs-post: |
|
38 for file in `cd template-post; ls *.el`; do \ |
|
39 tag=$${file%.el}; \ |
|
40 if grep "DO NOT EDIT COMMENT! TAG: $$tag" $(HOME)/.emacs-post; then \ |
|
41 :; \ |
|
42 else \ |
|
43 cat template-post/$$file >>$(HOME)/.emacs-post; \ |
|
44 fi; \ |
21 done |
45 done |
22 |
46 |
23 dist-tar: |
47 dist-tar: |
24 tar cf dot-emacs.tar .emacs .emacs-my |
48 tar cf dot-emacs.tar .emacs .emacs-my |
25 |
49 |