Makefile (1658B)
1 CURDIR ?= $(.CURDIR) 2 TARGET = ~ 3 TARGETSL = ~/code/dl/sl 4 5 symlinks = bash_profile \ 6 bashrc \ 7 config/nvim \ 8 config/clipit \ 9 config/htop \ 10 config/openbox \ 11 config/tint2 \ 12 config/sxhkd \ 13 conkyrc \ 14 ctags \ 15 dircolors \ 16 emacs \ 17 gdbinit \ 18 gitconfig \ 19 gitignore \ 20 pylintrc \ 21 terminfo \ 22 themes \ 23 tmux \ 24 tmux.conf \ 25 vim \ 26 vimrc \ 27 vimrc.bundles \ 28 xinitrc \ 29 xmonad/xmonad.hs \ 30 xmonad/xmobarrc \ 31 zshrc 32 33 sllinks = dmenu \ 34 dwm \ 35 dvtm \ 36 slock \ 37 slstatus \ 38 st \ 39 surf \ 40 tabbed 41 42 all: 43 @echo to install dotfiles to $(TARGET) run \'make install\' 44 45 install-dotfiles: $(symlinks) 46 47 install-sl: $(sllinks) 48 49 install: $(symlinks) $(sllinks) 50 ln -fsn $(CURDIR)/bin $(TARGET)/bin 51 52 # create symbolic link in home to dotfile 53 # remove link if one already exists or save file as a backup 54 $(symlinks): 55 @if [ -e $(TARGET)/.$@ ]; then \ 56 if [ -L $(TARGET)/.$@ ]; then \ 57 rm -f $(TARGET)/.$@; \ 58 else \ 59 echo mv $(TARGET)/.$@ $(TARGET)/$@-old; \ 60 mv $(TARGET)/.$@ $(TARGET)/$@-old; \ 61 fi \ 62 fi 63 ln -sn $(CURDIR)/$@ $(TARGET)/.$@ 64 65 # if suckless project is downloaded, link config header there 66 $(sllinks): 67 @if [ -e $(TARGETSL)/$@ ]; then \ 68 echo ln -fsn $(CURDIR)/sl/$@.h $(TARGETSL)/$@/config.h; \ 69 ln -fsn $(CURDIR)/sl/$@.h $(TARGETSL)/$@/config.h; \ 70 fi 71 72 .PHONY: all install-dotfiles install-sl install $(symlinks) $(sllinks)