4 |
4 |
5 |
5 |
6 ################################################################ |
6 ################################################################ |
7 # Standard Makefile settings. |
7 # Standard Makefile settings. |
8 |
8 |
9 SHELL = /bin/sh |
9 SHELL = /bin/bash |
10 export PATH := /bin:/usr/bin:${PATH} |
10 export PATH := /bin:/usr/bin:${PATH} |
11 |
11 |
12 # Disable built in pattern rules. |
12 # Disable built in pattern rules. |
13 MAKEFLAGS += -r |
13 MAKEFLAGS += -r |
14 # Disable built in variables. |
14 # Disable built in variables. |
93 exit 1; \ |
93 exit 1; \ |
94 fi; \ |
94 fi; \ |
95 fi |
95 fi |
96 read ver <$(COMPAT_FILE); if [ "$$ver" -ne $(COMPAT_VER) ]; then echo "*** "Run '"make upgrade"' first" ***"; exit 1; fi |
96 read ver <$(COMPAT_FILE); if [ "$$ver" -ne $(COMPAT_VER) ]; then echo "*** "Run '"make upgrade"' first" ***"; exit 1; fi |
97 |
97 |
98 .PHONY: check-upgrade-comapt |
98 .PHONY: upgrade |
99 check-upgrade-comapt: |
99 upgrade: |
100 \ |
100 \ |
101 if [ -f $(COMPAT_FILE) ]; then \ |
101 if [ -f $(COMPAT_FILE) ]; then \ |
102 read ver <$(COMPAT_FILE); \ |
102 read ver <$(COMPAT_FILE); \ |
103 if [ "$$ver" -gt $(COMPAT_VER) ]; then \ |
103 if [ "$$ver" -gt $(COMPAT_VER) ]; then \ |
104 echo "*** "Project is too old, downgrade is not possible..." ***"; \ |
104 echo "*** "Project is too old, downgrade is not possible..." ***"; \ |
105 exit 1; \ |
105 exit 1; \ |
106 fi; \ |
106 fi; \ |
107 fi |
107 else \ |
108 |
108 ver=0; \ |
109 .PHONY: upgrade |
109 fi; \ |
110 upgrade: check-upgrade-comapt |
110 for ((i=ver+1; i <= $(COMPAT_VER); i++)); do \ |
111 \ |
111 $(SHELL) upgrade/$$i.bash $(emacsdir); \ |
112 mkdir -p $(mylispdir); \ |
112 done |
113 rm -f $(emacsdir)/autoload-my.el; \ |
113 make install |
114 rm -f ~/.emacs; \ |
|
115 [ -d $(emacsdir)/my-lisp ] && mv $(emacsdir)/my-lisp $(mylispdir); \ |
|
116 for f in .emacs-my .emacs-custom.el .emacs-pre .emacs-post .emacs-places .emacs.desktop .emacs-places .emacs-autogen .ido.last .recentf; do \ |
|
117 if [ -f ~/$$f ]; then [ -f $(emacsdir)/$$f ] && mv ~/$$f $(emacsdir)/$$f.1 || mv ~/$$f $(emacsdir); fi; \ |
|
118 if [ -f $(mylispdir)/$$f ]; then [ -f $(emacsdir)/$$f ] && mv $(mylispdir)/$$f $(emacsdir)/$$f.2 || mv $(mylispdir)/$$f $(emacsdir); fi; \ |
|
119 done; \ |
|
120 for f in `find $(mylispdir) -maxdepth 1 -type f -name '.emacs?*'`; do \ |
|
121 fn=$${f##*/}; \ |
|
122 [ -f $(emacsdir)/$$fn ] && mv $$f $(emacsdir)/$$fn.3 || mv $$f $(emacsdir); \ |
|
123 done; \ |
|
124 if [ -f ~/.emacs.bmk ]; then [ -f $(emacsdir)/bookmarks ] && mv ~/.emacs.bmk $(emacsdir)/bookmarks.$$$$ || mv ~/.emacs.bmk $(emacsdir)/bookmarks; fi; \ |
|
125 if [ -f $(emacsdir)/.emacs.bmk ]; then [ -f $(emacsdir)/bookmarks ] && mv $(emacsdir)/.emacs.bmk $(emacsdir)/bookmarks.$$$$ || mv $(emacsdir)/.emacs.bmk $(emacsdir)/bookmarks; fi; \ |
|
126 echo $(COMPAT_VER) >$(COMPAT_FILE); \ |
|
127 make install |
|
128 |
114 |
129 .PHONY: install-all |
115 .PHONY: install-all |
130 install-all: install |
116 install-all: install |
131 cp .emacs-pre $(emacsdir)/.emacs-pre |
117 cp .emacs-pre $(emacsdir)/.emacs-pre |
132 cp .emacs-post $(emacsdir)/.emacs-post |
118 cp .emacs-post $(emacsdir)/.emacs-post |