Makefile
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 12 May 2010 14:19:12 +0300
changeset 76 85dc8b07017a
parent 75 956a463b63e3
child 77 46f5f10ec084
permissions -rw-r--r--
Allow installation of file which can be modified by user so you do not lose

SHELL = /bin/sh

.PHONY: all
all:

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

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

OVERRIDDEN_ITEMS = .Xdefaults .bashrc .mailsign .xinitrc .mc .vimrc .inputrc .ssh .hgrc .hgignore .bazaar
IFNONEXIST_ITEMS = .wgetrc

.PHONY: install
install:
	for item in $(OVERRIDDEN_ITEMS); do \
		if [ -f $$item ]; then \
			install -m 640 $$item $(HOME)/$$item; \
		fi; \
		if [ -d $$item ]; then \
			for file in `find $$item`; do \
				if [ -d $$file ]; then \
					[ -d $(HOME)/$$file ] || mkdir -p $(HOME)/$$file; \
				fi; \
				if [ -f $$file ]; then \
					install -m 640 $$file $(HOME)/$$file; \
				fi; \
			done; \
		fi; \
	done
	for item in $(IFNONEXIST_ITEMS); do \
		if [ -f $$item -a ! -f $(HOME)/$$item ]; then \
			install -m 640 $$item $(HOME)/$$item; \
		fi; \
		if [ -d $$item ]; then \
			for file in `find $$item`; do \
				if [ -d $$file ]; then \
					[ -d $(HOME)/$$file ] || mkdir -p $(HOME)/$$file; \
				fi; \
				if [ -f $$file -a ! -f $(HOME)/$$file ]; then \
					install -m 640 $$file $(HOME)/$$file; \
				fi; \
			done; \
		fi; \
	done

.PHONY: uninstall
uninstall:
	rm -f $(HOME)/.mailsign

.PHONY: clean
clean:

.PHONY: distclean
distclean: clean