Makefile
changeset 1199 dff272add01e
parent 1150 dad3fb58f710
child 1209 aa1de5eb3665
equal deleted inserted replaced
1198:81709141a539 1199:dff272add01e
    39     host_os = windows
    39     host_os = windows
    40   endif
    40   endif
    41 endif
    41 endif
    42 
    42 
    43 ################################################################
    43 ################################################################
       
    44 # Installation directories.
       
    45 
       
    46 emacsdir := $(HOME)/.emacs.d
       
    47 mylispdir := $(emacsdir)/my
       
    48 
       
    49 ################################################################
    44 # Build tool definition/switches.
    50 # Build tool definition/switches.
    45 
    51 
    46 EMACS = emacs
    52 EMACS = emacs
    47 # I prefer native Windows Emacs, so use it if available.
    53 # I prefer native Windows Emacs, so use it if available.
    48 ifeq 'windows' '$(host_os)'
    54 ifeq 'windows' '$(host_os)'
    71 all: install
    77 all: install
    72 
    78 
    73 ################################################################
    79 ################################################################
    74 # Install/uninstall targets.
    80 # Install/uninstall targets.
    75 
    81 
       
    82 .PHONY: upgrade
       
    83 upgrade:
       
    84 	\
       
    85 if [ ! -d $(mylispdir) ]; then \
       
    86   if [ -d $(emacsdir)/my-lisp ]; then \
       
    87     rm -f $(emacsdir)/autoload-my.el; \
       
    88     mv $(emacsdir)/my-lisp $(mylispdir); \
       
    89   else \
       
    90     mkdir -p $(mylispdir); \
       
    91   fi; \
       
    92   mv ~/.emacs-my $(mylispdir)/.emacs || true; \
       
    93   mv ~/.emacs-custom.el $(mylispdir)/.emacs-custom || true; \
       
    94   mv ~/.emacs-pre $(mylispdir) || true; \
       
    95   mv ~/.emacs-post $(mylispdir) || true; \
       
    96   mv ~/.emacs-places $(mylispdir) || true; \
       
    97   mv ~/.emacs.desktop $(mylispdir) || true; \
       
    98   rm -f ~/.emacs-autogen; \
       
    99 fi
       
   100 
    76 .PHONY: install-all
   101 .PHONY: install-all
    77 install-all: install
   102 install-all: install
    78 	cp .emacs-pre $(HOME)/.emacs-pre
   103 	cp .emacs-pre $(mylispdir)/.emacs-pre
    79 	cp .emacs-post $(HOME)/.emacs-post
   104 	cp .emacs-post $(mylispdir)/.emacs-post
    80 
   105 
    81 .PHONY: install
   106 .PHONY: install
    82 install: .emacs .emacs-my .emacs-pre .emacs-post $(EL_FILES)
   107 install:
       
   108 	mkdir -p $(mylispdir)
       
   109 	find $(mylispdir) -type f -name '*.el' -delete
    83 	for file in .emacs-pre .emacs-post; do \
   110 	for file in .emacs-pre .emacs-post; do \
    84 		[ -f $(HOME)/$$file ] || cp $$file $(HOME)/$$file; \
   111 		[ -f $(mylispdir)/$$file ] || cp $$file $(mylispdir)/$$file; \
    85 	done
   112 	done
    86 	cp .emacs $(HOME)/.emacs
   113 	cp .emacs $(HOME)/.emacs
    87 	cp .emacs-my $(HOME)/.emacs-my
   114 	cp .emacs-my $(mylispdir)/.emacs-my
    88 	mkdir -p $(HOME)/.gnus/scores
   115 	mkdir -p $(HOME)/.gnus/scores
    89 	cp all.SCORE $(HOME)/.gnus/scores
   116 	cp all.SCORE $(HOME)/.gnus/scores
    90 	rm -f -r $(HOME)/.emacs.d/my-lisp
       
    91 	mkdir -p $(HOME)/.emacs.d/my-lisp
       
    92 	for file in $(EL_FILES); do \
   117 	for file in $(EL_FILES); do \
    93 		cp -f $$file $(HOME)/.emacs.d/my-lisp; \
   118 		cp -f $$file $(mylispdir); \
    94 	done
   119 	done
    95 	$(EMACS) -Q --batch \
   120 	$(EMACS) -Q --batch --eval='(let ((generated-autoload-file "$(mylispdir)/loaddefs.el")) (update-directory-autoloads "$(mylispdir)"))'
    96 		--eval='(let ( (generated-autoload-file "~/.emacs.d/my-lisp/autoload-my.el") ) (update-directory-autoloads "~/.emacs.d/my-lisp") )'
   121 	./.emacs-autogen.sh $(mylispdir)/.emacs-autogen
    97 	./.emacs-autogen.sh $(HOME)/.emacs-autogen
       
    98 	cp -r srecode/ $(HOME)/.emacs.d/
   122 	cp -r srecode/ $(HOME)/.emacs.d/
    99 
   123 
   100 .PHONY: uninstall
   124 .PHONY: uninstall
   101 uninstall:
   125 uninstall:
   102 	rm -f $(HOME)/.emacs $(HOME)/.emacs-my $(HOME)/.emacs-autogen
   126 	rm -f $(HOME)/.emacs $(mylispdir)/.emacs-my $(mylispdir)/.emacs-autogen
   103 	rm -f -r $(HOME)/.emacs.d/my-lisp $(HOME)/.emacs.d/srecode
   127 	find $(mylispdir) -type f -name '*.el' -delete
       
   128 	rm -f -r $(emacsdir)/srecode
   104 
   129 
   105 .PHONY: tar
   130 .PHONY: tar
   106 tar:
   131 tar:
   107 	tar cf dot-emacs.tar .emacs .emacs-my
   132 	tar cf dot-emacs.tar .emacs .emacs-my
   108 
   133