]> git.rmz.io Git - dotfiles.git/blobdiff - Makefile
mv bash_aliases, more zsh settings
[dotfiles.git] / Makefile
index af701e095a06f1a683e04e6dd305e715ba3a18a1..1f63f7cde52674dbd779d39e5a8542b9fb88fe43 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,30 @@
-.PHONY: install update
+APATH := $(realpath .)
+RPATH := $(subst $(wildcard ~/),,$(APATH))
 
-install:
-       cp -f bashrc ~/.bashrc
-       cp -f bash_aliases ~/.bash_aliases
-       cp -f bash_colors ~/.bash_colors
-       cp -f bash_logout ~/.bash_logout
-       cp -f flexget/config.yml ~/.flexget/config.yml
-       cp -f vimrc ~/.vimrc
+FILES := bin
+DOTFILES := aliasesrc bash* flexget vim* zsh*
 
-update:
-       cp -f ~/.bashrc bashrc 
-       cp -f ~/.bash_aliases bash_aliases 
-       cp -f ~/.bash_colors bash_colors 
-       cp -f ~/.bash_logout bash_logout 
-       cp -f ~/.flexget/config.yml flexget/config.yml 
-       cp -f ~/.vimrc vimrc
+.PHONY: install $(FILES) $(DOTFILES)
+install: $(FILES) $(DOTFILES)
+
+$(FILES): 
+       @if [[ -e ~/$@ && ! -L ~/$@ ]]; then \
+           if [[ -d $@ ]]; then \
+             cp -r ~/$@/* $@; \
+           else \
+             cp -r ~/$@ $@; \
+           fi; \
+           rm -r ~/$@; \
+       fi; 
+       ln -sfT $(RPATH)/$@ ~/$@
+
+$(DOTFILES): 
+       @if [[ -e ~/.$@ && ! -L ~/.$@ ]]; then \
+           if [[ -d .$@ ]]; then \
+             cp -r ~/.$@/* $@; \
+           else \
+             cp -r ~/.$@ $@; \
+           fi; \
+           rm -r ~/.$@; \
+       fi; 
+       ln -sfT $(RPATH)/$@ ~/.$@