--- a/Makefile Sun Mar 13 13:56:48 2016 +0200
+++ b/Makefile Sun Mar 13 14:06:08 2016 +0200
@@ -6,7 +6,7 @@
################################################################
# Standard Makefile settings.
-SHELL = /bin/sh
+SHELL = /bin/bash
export PATH := /bin:/usr/bin:${PATH}
# Disable built in pattern rules.
@@ -95,8 +95,8 @@
fi
read ver <$(COMPAT_FILE); if [ "$$ver" -ne $(COMPAT_VER) ]; then echo "*** "Run '"make upgrade"' first" ***"; exit 1; fi
-.PHONY: check-upgrade-comapt
-check-upgrade-comapt:
+.PHONY: upgrade
+upgrade:
\
if [ -f $(COMPAT_FILE) ]; then \
read ver <$(COMPAT_FILE); \
@@ -104,27 +104,13 @@
echo "*** "Project is too old, downgrade is not possible..." ***"; \
exit 1; \
fi; \
-fi
-
-.PHONY: upgrade
-upgrade: check-upgrade-comapt
- \
-mkdir -p $(mylispdir); \
-rm -f $(emacsdir)/autoload-my.el; \
-rm -f ~/.emacs; \
-[ -d $(emacsdir)/my-lisp ] && mv $(emacsdir)/my-lisp $(mylispdir); \
-for f in .emacs-my .emacs-custom.el .emacs-pre .emacs-post .emacs-places .emacs.desktop .emacs-places .emacs-autogen .ido.last .recentf; do \
- if [ -f ~/$$f ]; then [ -f $(emacsdir)/$$f ] && mv ~/$$f $(emacsdir)/$$f.1 || mv ~/$$f $(emacsdir); fi; \
- if [ -f $(mylispdir)/$$f ]; then [ -f $(emacsdir)/$$f ] && mv $(mylispdir)/$$f $(emacsdir)/$$f.2 || mv $(mylispdir)/$$f $(emacsdir); fi; \
-done; \
-for f in `find $(mylispdir) -maxdepth 1 -type f -name '.emacs?*'`; do \
- fn=$${f##*/}; \
- [ -f $(emacsdir)/$$fn ] && mv $$f $(emacsdir)/$$fn.3 || mv $$f $(emacsdir); \
-done; \
-if [ -f ~/.emacs.bmk ]; then [ -f $(emacsdir)/bookmarks ] && mv ~/.emacs.bmk $(emacsdir)/bookmarks.$$$$ || mv ~/.emacs.bmk $(emacsdir)/bookmarks; fi; \
-if [ -f $(emacsdir)/.emacs.bmk ]; then [ -f $(emacsdir)/bookmarks ] && mv $(emacsdir)/.emacs.bmk $(emacsdir)/bookmarks.$$$$ || mv $(emacsdir)/.emacs.bmk $(emacsdir)/bookmarks; fi; \
-echo $(COMPAT_VER) >$(COMPAT_FILE); \
-make install
+else \
+ ver=0; \
+fi; \
+for ((i=ver+1; i <= $(COMPAT_VER); i++)); do \
+ $(SHELL) upgrade/$$i.bash $(emacsdir); \
+done
+ make install
.PHONY: install-all
install-all: install
@@ -138,6 +124,7 @@
.PHONY: install
install: check-install-comapt
mkdir -p $(mylispdir)
+ echo $(COMPAT_VER) >$(COMPAT_FILE)
$(cleanup_mylispdir)
for file in .emacs-pre .emacs-post; do \
[ -f $(emacsdir)/$$file ] || cp $$file $(emacsdir)/$$file; \