diff -r 81709141a539 -r dff272add01e Makefile --- a/Makefile Tue Jan 27 22:53:39 2015 +0200 +++ b/Makefile Wed Jan 28 00:45:31 2015 +0200 @@ -41,6 +41,12 @@ endif ################################################################ +# Installation directories. + +emacsdir := $(HOME)/.emacs.d +mylispdir := $(emacsdir)/my + +################################################################ # Build tool definition/switches. EMACS = emacs @@ -73,34 +79,53 @@ ################################################################ # Install/uninstall targets. +.PHONY: upgrade +upgrade: + \ +if [ ! -d $(mylispdir) ]; then \ + if [ -d $(emacsdir)/my-lisp ]; then \ + rm -f $(emacsdir)/autoload-my.el; \ + mv $(emacsdir)/my-lisp $(mylispdir); \ + else \ + mkdir -p $(mylispdir); \ + fi; \ + mv ~/.emacs-my $(mylispdir)/.emacs || true; \ + mv ~/.emacs-custom.el $(mylispdir)/.emacs-custom || true; \ + mv ~/.emacs-pre $(mylispdir) || true; \ + mv ~/.emacs-post $(mylispdir) || true; \ + mv ~/.emacs-places $(mylispdir) || true; \ + mv ~/.emacs.desktop $(mylispdir) || true; \ + rm -f ~/.emacs-autogen; \ +fi + .PHONY: install-all install-all: install - cp .emacs-pre $(HOME)/.emacs-pre - cp .emacs-post $(HOME)/.emacs-post + cp .emacs-pre $(mylispdir)/.emacs-pre + cp .emacs-post $(mylispdir)/.emacs-post .PHONY: install -install: .emacs .emacs-my .emacs-pre .emacs-post $(EL_FILES) +install: + mkdir -p $(mylispdir) + find $(mylispdir) -type f -name '*.el' -delete for file in .emacs-pre .emacs-post; do \ - [ -f $(HOME)/$$file ] || cp $$file $(HOME)/$$file; \ + [ -f $(mylispdir)/$$file ] || cp $$file $(mylispdir)/$$file; \ done cp .emacs $(HOME)/.emacs - cp .emacs-my $(HOME)/.emacs-my + cp .emacs-my $(mylispdir)/.emacs-my mkdir -p $(HOME)/.gnus/scores cp all.SCORE $(HOME)/.gnus/scores - rm -f -r $(HOME)/.emacs.d/my-lisp - mkdir -p $(HOME)/.emacs.d/my-lisp for file in $(EL_FILES); do \ - cp -f $$file $(HOME)/.emacs.d/my-lisp; \ + cp -f $$file $(mylispdir); \ done - $(EMACS) -Q --batch \ - --eval='(let ( (generated-autoload-file "~/.emacs.d/my-lisp/autoload-my.el") ) (update-directory-autoloads "~/.emacs.d/my-lisp") )' - ./.emacs-autogen.sh $(HOME)/.emacs-autogen + $(EMACS) -Q --batch --eval='(let ((generated-autoload-file "$(mylispdir)/loaddefs.el")) (update-directory-autoloads "$(mylispdir)"))' + ./.emacs-autogen.sh $(mylispdir)/.emacs-autogen cp -r srecode/ $(HOME)/.emacs.d/ .PHONY: uninstall uninstall: - rm -f $(HOME)/.emacs $(HOME)/.emacs-my $(HOME)/.emacs-autogen - rm -f -r $(HOME)/.emacs.d/my-lisp $(HOME)/.emacs.d/srecode + rm -f $(HOME)/.emacs $(mylispdir)/.emacs-my $(mylispdir)/.emacs-autogen + find $(mylispdir) -type f -name '*.el' -delete + rm -f -r $(emacsdir)/srecode .PHONY: tar tar: