Makefile
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 11 Oct 2010 17:05:51 +0300
changeset 496 f3de740663be
parent 386 3efe37437745
child 518 576a7e0fd9e0
permissions -rw-r--r--
Implicitly set 'SHELL' env var for Cygwin as in another case shell-command pass SHELL=cmdproxy.exe to new processes hwich wrong.

# Copyright (C) 2008-2010 by Oleksandr Gavenko <gavenkoa@gmail.com>
#
# You can do anything with this file without any warranty.

ifeq '' '$(HOME)'
  $(error Home env var not set!)
endif

host_os = unix
ifneq '' '$(COMSPEC)'
  host_os = windows
endif

# Special case for Windows if emacs-nox from Cygwin installed along with native Emacs.
# So we run native Emacs to compile sources.
EMACS = emacs
ifeq 'windows' '$(host_os)'
  EMACS = runemacs
endif

FILES_MODE_EL := $(wildcard *-mode.el)

.PHONY: all
all: install

.PHONY: install-all
install-all: install
	cp .emacs-pre $(HOME)/.emacs-pre
	cp .emacs-post $(HOME)/.emacs-post

.PHONY: install
install: .emacs .emacs-my .emacs-pre .emacs-post $(FILES_MODE_EL)
	for file in .emacs-pre .emacs-post; do \
		if [ ! -f $(HOME)/$$file ]; then cp $$file $(HOME)/$$file; fi; \
	done
	cp .emacs $(HOME)/.emacs
	cp .emacs-autogen $(HOME)/.emacs-autogen
	sh .emacs-autogen.sh $(HOME)/.emacs-autogen
	cp .emacs-my $(HOME)/.emacs-my
	rm -f -r $(HOME)/.emacs.d/my-lisp
	mkdir -p $(HOME)/.emacs.d/my-lisp
	for file in $(FILES_MODE_EL); do \
		cp -f $$file $(HOME)/.emacs.d/my-lisp; \
	done
	$(EMACS) --batch \
		--eval='(let ( (generated-autoload-file "~/.emacs.d/my-lisp/autoload-my.el") ) (update-directory-autoloads "~/.emacs.d/my-lisp") )'

.PHONY: uninstall
uninstall:
	@echo !!! Nothing done !!!

.PHONY: tar
tar:
	tar cf dot-emacs.tar .emacs .emacs-my

.PHONY: distclean
distclean: clean

.PHONY: clean
clean:
	rm -f dot-emacs.tar