--- 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: