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