APATH := $(realpath .)
RPATH := $(subst $(wildcard ~/),,$(APATH))
-FILES :=
+FILES := bin
DOTFILES := bash* flexget vim*
.PHONY: install $(FILES) $(DOTFILES)
install: $(FILES) $(DOTFILES)
$(FILES):
- @if [[ -f ~/$@ || -d ~/$@ ]]; then \
- if [[ -d $@ ]]; then \
- cp -r ~/$@/* $@; \
- else \
- cp -r ~/$@ $@; \
- fi; \
- rm -r ~/$@; \
+ @if [[ -e ~/$@ && ! -L ~/$@ ]]; then \
+ if [[ -d $@ ]]; then \
+ cp -r ~/$@/* $@; \
+ else \
+ cp -r ~/$@ $@; \
+ fi; \
+ rm -r ~/$@; \
fi;
- ln -sf $(RPATH)/$@ ~/.$@
+ ln -sf $(RPATH)/$@ ~/$@
$(DOTFILES):
- @if [[ -f ~/.$@ || -d ~/.$@ ]]; then \
- if [[ -d $@ ]]; then \
- cp -r ~/.$@/* $@; \
- else \
- cp -r ~/.$@ $@; \
- fi; \
- rm -r ~/.$@; \
+ @if [[ -e ~/.$@ && ! -L ~/.$@ ]]; then \
+ if [[ -d .$@ ]]; then \
+ cp -r ~/.$@/* $@; \
+ else \
+ cp -r ~/.$@ $@; \
+ fi; \
+ rm -r ~/.$@; \
fi;
- ln -sf $(RPATH)/$@ ~/.$@
+ ln -sf $(RPATH)/$@ ~/.$@