Makefile
changeset 1358 54b0b0bb4570
parent 1357 a796e1fddc70
child 1362 aaad8c283943
equal deleted inserted replaced
1357:a796e1fddc70 1358:54b0b0bb4570
     4 
     4 
     5 
     5 
     6 ################################################################
     6 ################################################################
     7 # Standard Makefile settings.
     7 # Standard Makefile settings.
     8 
     8 
     9 SHELL = /bin/sh
     9 SHELL = /bin/bash
    10 export PATH := /bin:/usr/bin:${PATH}
    10 export PATH := /bin:/usr/bin:${PATH}
    11 
    11 
    12 # Disable built in pattern rules.
    12 # Disable built in pattern rules.
    13 MAKEFLAGS += -r
    13 MAKEFLAGS += -r
    14 # Disable built in variables.
    14 # Disable built in variables.
    93     exit 1; \
    93     exit 1; \
    94   fi; \
    94   fi; \
    95 fi
    95 fi
    96 	read ver <$(COMPAT_FILE); if [ "$$ver" -ne $(COMPAT_VER) ]; then echo "*** "Run '"make upgrade"' first" ***"; exit 1; fi
    96 	read ver <$(COMPAT_FILE); if [ "$$ver" -ne $(COMPAT_VER) ]; then echo "*** "Run '"make upgrade"' first" ***"; exit 1; fi
    97 
    97 
    98 .PHONY: check-upgrade-comapt
    98 .PHONY: upgrade
    99 check-upgrade-comapt:
    99 upgrade:
   100 	\
   100 	\
   101 if [ -f $(COMPAT_FILE) ]; then \
   101 if [ -f $(COMPAT_FILE) ]; then \
   102   read ver <$(COMPAT_FILE); \
   102   read ver <$(COMPAT_FILE); \
   103   if [ "$$ver" -gt $(COMPAT_VER) ]; then \
   103   if [ "$$ver" -gt $(COMPAT_VER) ]; then \
   104     echo "*** "Project is too old, downgrade is not possible..." ***"; \
   104     echo "*** "Project is too old, downgrade is not possible..." ***"; \
   105     exit 1; \
   105     exit 1; \
   106   fi; \
   106   fi; \
   107 fi
   107 else \
   108 
   108   ver=0; \
   109 .PHONY: upgrade
   109 fi; \
   110 upgrade: check-upgrade-comapt
   110 for ((i=ver+1; i <= $(COMPAT_VER); i++)); do \
   111 	\
   111   $(SHELL) upgrade/$$i.bash $(emacsdir); \
   112 mkdir -p $(mylispdir); \
   112 done
   113 rm -f $(emacsdir)/autoload-my.el; \
   113 	make install
   114 rm -f ~/.emacs; \
       
   115 [ -d $(emacsdir)/my-lisp ] && mv $(emacsdir)/my-lisp $(mylispdir); \
       
   116 for f in .emacs-my .emacs-custom.el .emacs-pre .emacs-post .emacs-places .emacs.desktop .emacs-places .emacs-autogen .ido.last .recentf; do \
       
   117   if [ -f ~/$$f ]; then [ -f $(emacsdir)/$$f ] && mv ~/$$f $(emacsdir)/$$f.1 || mv ~/$$f $(emacsdir); fi; \
       
   118   if [ -f $(mylispdir)/$$f ]; then [ -f $(emacsdir)/$$f ] && mv $(mylispdir)/$$f $(emacsdir)/$$f.2 || mv $(mylispdir)/$$f $(emacsdir); fi; \
       
   119 done; \
       
   120 for f in `find $(mylispdir) -maxdepth 1 -type f -name '.emacs?*'`; do \
       
   121   fn=$${f##*/}; \
       
   122   [ -f $(emacsdir)/$$fn ] && mv $$f $(emacsdir)/$$fn.3 || mv $$f $(emacsdir); \
       
   123 done; \
       
   124 if [ -f ~/.emacs.bmk ]; then [ -f $(emacsdir)/bookmarks ] && mv ~/.emacs.bmk $(emacsdir)/bookmarks.$$$$ || mv ~/.emacs.bmk $(emacsdir)/bookmarks; fi; \
       
   125 if [ -f $(emacsdir)/.emacs.bmk ]; then [ -f $(emacsdir)/bookmarks ] && mv $(emacsdir)/.emacs.bmk $(emacsdir)/bookmarks.$$$$ || mv $(emacsdir)/.emacs.bmk $(emacsdir)/bookmarks; fi; \
       
   126 echo $(COMPAT_VER) >$(COMPAT_FILE); \
       
   127 make install
       
   128 
   114 
   129 .PHONY: install-all
   115 .PHONY: install-all
   130 install-all: install
   116 install-all: install
   131 	cp .emacs-pre $(emacsdir)/.emacs-pre
   117 	cp .emacs-pre $(emacsdir)/.emacs-pre
   132 	cp .emacs-post $(emacsdir)/.emacs-post
   118 	cp .emacs-post $(emacsdir)/.emacs-post
   136 endef
   122 endef
   137 
   123 
   138 .PHONY: install
   124 .PHONY: install
   139 install: check-install-comapt
   125 install: check-install-comapt
   140 	mkdir -p $(mylispdir)
   126 	mkdir -p $(mylispdir)
       
   127 	echo $(COMPAT_VER) >$(COMPAT_FILE)
   141 	$(cleanup_mylispdir)
   128 	$(cleanup_mylispdir)
   142 	for file in .emacs-pre .emacs-post; do \
   129 	for file in .emacs-pre .emacs-post; do \
   143 		[ -f $(emacsdir)/$$file ] || cp $$file $(emacsdir)/$$file; \
   130 		[ -f $(emacsdir)/$$file ] || cp $$file $(emacsdir)/$$file; \
   144 	done
   131 	done
   145 	\
   132 	\