diff -r a796e1fddc70 -r 54b0b0bb4570 Makefile --- 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; \