39 host_os = windows |
39 host_os = windows |
40 endif |
40 endif |
41 endif |
41 endif |
42 |
42 |
43 ################################################################ |
43 ################################################################ |
|
44 # Installation directories. |
|
45 |
|
46 emacsdir := $(HOME)/.emacs.d |
|
47 mylispdir := $(emacsdir)/my |
|
48 |
|
49 ################################################################ |
44 # Build tool definition/switches. |
50 # Build tool definition/switches. |
45 |
51 |
46 EMACS = emacs |
52 EMACS = emacs |
47 # I prefer native Windows Emacs, so use it if available. |
53 # I prefer native Windows Emacs, so use it if available. |
48 ifeq 'windows' '$(host_os)' |
54 ifeq 'windows' '$(host_os)' |
71 all: install |
77 all: install |
72 |
78 |
73 ################################################################ |
79 ################################################################ |
74 # Install/uninstall targets. |
80 # Install/uninstall targets. |
75 |
81 |
|
82 .PHONY: upgrade |
|
83 upgrade: |
|
84 \ |
|
85 if [ ! -d $(mylispdir) ]; then \ |
|
86 if [ -d $(emacsdir)/my-lisp ]; then \ |
|
87 rm -f $(emacsdir)/autoload-my.el; \ |
|
88 mv $(emacsdir)/my-lisp $(mylispdir); \ |
|
89 else \ |
|
90 mkdir -p $(mylispdir); \ |
|
91 fi; \ |
|
92 mv ~/.emacs-my $(mylispdir)/.emacs || true; \ |
|
93 mv ~/.emacs-custom.el $(mylispdir)/.emacs-custom || true; \ |
|
94 mv ~/.emacs-pre $(mylispdir) || true; \ |
|
95 mv ~/.emacs-post $(mylispdir) || true; \ |
|
96 mv ~/.emacs-places $(mylispdir) || true; \ |
|
97 mv ~/.emacs.desktop $(mylispdir) || true; \ |
|
98 rm -f ~/.emacs-autogen; \ |
|
99 fi |
|
100 |
76 .PHONY: install-all |
101 .PHONY: install-all |
77 install-all: install |
102 install-all: install |
78 cp .emacs-pre $(HOME)/.emacs-pre |
103 cp .emacs-pre $(mylispdir)/.emacs-pre |
79 cp .emacs-post $(HOME)/.emacs-post |
104 cp .emacs-post $(mylispdir)/.emacs-post |
80 |
105 |
81 .PHONY: install |
106 .PHONY: install |
82 install: .emacs .emacs-my .emacs-pre .emacs-post $(EL_FILES) |
107 install: |
|
108 mkdir -p $(mylispdir) |
|
109 find $(mylispdir) -type f -name '*.el' -delete |
83 for file in .emacs-pre .emacs-post; do \ |
110 for file in .emacs-pre .emacs-post; do \ |
84 [ -f $(HOME)/$$file ] || cp $$file $(HOME)/$$file; \ |
111 [ -f $(mylispdir)/$$file ] || cp $$file $(mylispdir)/$$file; \ |
85 done |
112 done |
86 cp .emacs $(HOME)/.emacs |
113 cp .emacs $(HOME)/.emacs |
87 cp .emacs-my $(HOME)/.emacs-my |
114 cp .emacs-my $(mylispdir)/.emacs-my |
88 mkdir -p $(HOME)/.gnus/scores |
115 mkdir -p $(HOME)/.gnus/scores |
89 cp all.SCORE $(HOME)/.gnus/scores |
116 cp all.SCORE $(HOME)/.gnus/scores |
90 rm -f -r $(HOME)/.emacs.d/my-lisp |
|
91 mkdir -p $(HOME)/.emacs.d/my-lisp |
|
92 for file in $(EL_FILES); do \ |
117 for file in $(EL_FILES); do \ |
93 cp -f $$file $(HOME)/.emacs.d/my-lisp; \ |
118 cp -f $$file $(mylispdir); \ |
94 done |
119 done |
95 $(EMACS) -Q --batch \ |
120 $(EMACS) -Q --batch --eval='(let ((generated-autoload-file "$(mylispdir)/loaddefs.el")) (update-directory-autoloads "$(mylispdir)"))' |
96 --eval='(let ( (generated-autoload-file "~/.emacs.d/my-lisp/autoload-my.el") ) (update-directory-autoloads "~/.emacs.d/my-lisp") )' |
121 ./.emacs-autogen.sh $(mylispdir)/.emacs-autogen |
97 ./.emacs-autogen.sh $(HOME)/.emacs-autogen |
|
98 cp -r srecode/ $(HOME)/.emacs.d/ |
122 cp -r srecode/ $(HOME)/.emacs.d/ |
99 |
123 |
100 .PHONY: uninstall |
124 .PHONY: uninstall |
101 uninstall: |
125 uninstall: |
102 rm -f $(HOME)/.emacs $(HOME)/.emacs-my $(HOME)/.emacs-autogen |
126 rm -f $(HOME)/.emacs $(mylispdir)/.emacs-my $(mylispdir)/.emacs-autogen |
103 rm -f -r $(HOME)/.emacs.d/my-lisp $(HOME)/.emacs.d/srecode |
127 find $(mylispdir) -type f -name '*.el' -delete |
|
128 rm -f -r $(emacsdir)/srecode |
104 |
129 |
105 .PHONY: tar |
130 .PHONY: tar |
106 tar: |
131 tar: |
107 tar cf dot-emacs.tar .emacs .emacs-my |
132 tar cf dot-emacs.tar .emacs .emacs-my |
108 |
133 |