1 # Copyright (C) 2008 by Oleksandr Gavenko <gavenkoa@gmail.com> |
1 # Copyright (C) 2008-2010 by Oleksandr Gavenko <gavenkoa@gmail.com> |
|
2 # |
|
3 # You can do anything with this file without any warranty. |
2 |
4 |
3 ifeq '' '$(HOME)' |
5 ifeq '' '$(HOME)' |
4 $(error Home env var not set!) |
6 $(error Home env var not set!) |
5 endif |
7 endif |
6 |
8 |
7 .PHONY: all install preinstall install-all preinstall-all update-dot-emacs-pre update-dot-emacs-post tar |
9 .PHONY: all |
8 |
|
9 all: install |
10 all: install |
10 |
11 |
11 install: preinstall update-dot-emacs-pre update-dot-emacs-post |
12 .PHONY: install-all |
|
13 install-all: install |
|
14 cp .emacs-pre $(HOME)/.emacs-pre |
|
15 cp .emacs-post $(HOME)/.emacs-post |
12 |
16 |
13 preinstall: .emacs .emacs-my .emacs-pre .emacs-post |
17 .PHONY: install |
|
18 install: .emacs .emacs-my .emacs-pre .emacs-post $(wildcard lisp/*.el) |
14 for file in .emacs-pre .emacs-post; do \ |
19 for file in .emacs-pre .emacs-post; do \ |
15 if [ ! -f $(HOME)/$$file ]; then cp $$file $(HOME)/$$file; fi; \ |
20 if [ ! -f $(HOME)/$$file ]; then cp $$file $(HOME)/$$file; fi; \ |
16 done |
21 done |
17 cp .emacs $(HOME)/.emacs |
22 cp .emacs $(HOME)/.emacs |
18 cp .emacs-my $(HOME)/.emacs-my |
23 cp .emacs-my $(HOME)/.emacs-my |
|
24 rm -f -r $(HOME)/.emacs.d/my-lisp |
|
25 mkdir -p $(HOME)/.emacs.d/my-lisp |
|
26 for file in $(wildcard lisp/*.el); do \ |
|
27 cp -f $$file $(HOME)/.emacs.d/my-lisp; \ |
|
28 done |
|
29 emacs --batch \ |
|
30 --eval='(let ( (generated-autoload-file "~/.emacs.d/my-lisp/autoload-my.el") ) (update-directory-autoloads "~/.emacs.d/my-lisp") )' |
19 |
31 |
20 install-all: preinstall-all update-dot-emacs-pre update-dot-emacs-post |
32 .PHONY: uninstall |
|
33 uninstall: |
|
34 @echo !!! Nothing done !!! |
21 |
35 |
22 preinstall-all: .emacs .emacs-my .emacs-pre .emacs-post |
36 .PHONY: tar |
23 for file in $^; do \ |
|
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; \ |
|
45 done |
|
46 |
|
47 tar: |
37 tar: |
48 tar cf dot-emacs.tar .emacs .emacs-my |
38 tar cf dot-emacs.tar .emacs .emacs-my |
49 |
39 |
|
40 .PHONY: distclean |
|
41 distclean: clean |
|
42 |
|
43 .PHONY: clean |
50 clean: |
44 clean: |
51 rm -f dot-emacs.tar |
45 rm -f dot-emacs.tar |