Makefile (2797B)
1 .PHONY: all install clean uninstall home-install home-uninstall xdg-install xdg-uninstall email mpd nethack screen terminal vimb dunst ratpoison twm xorg 2 3 BINDIR = ${HOME}/.local/bin 4 5 emacs-eval=emacs -Q --batch --load ob-tangle --eval 6 7 all: email mpd nethack screen terminal vimb dunst ratpoison xorg twm 8 9 clean: 10 rm -rf xdg-config out 11 12 install: home-install xdg-install bin-install 13 14 home-install: 15 stow -d out -t ${HOME} . 16 17 xdg-install: 18 stow -d xdg-config -t ${XDG_CONFIG_HOME} . 19 20 bin-install: 21 stow -d bin -t ${BINDIR} . 22 23 uninstall: home-uninstall xdg-uninstall bin-uninstall 24 25 home-uninstall: 26 stow -d out -D -t ${HOME} . 27 28 xdg-uninstall: 29 stow -d xdg-config -D -t ${XDG_CONFIG_HOME} . 30 31 bin-uninstall: 32 stow -d bin -D -t ${BINDIR} . 33 34 EMAILFILES = out/.local/share/mail/.notmuch/hooks/pre-new xdg-config/mbsync/config xdg-config/msmtp/config xdg-config/notmuch/config 35 email : ${EMAILFILES} 36 MPDFILES = xdg-config/mpd/mpd.conf 37 mpd : ${MPDFILES} 38 NETHACKFILES = xdg-config/nethack/nethackrc bin/nh 39 nethack : ${NETHACKFILES} 40 SCREENFILES = xdg-config/screen/screenrc 41 screen : ${SCREENFILES} 42 TERMINALFILES = out/.bash_profile out/.bashrc xdg-config/readline/inputrc 43 terminal : ${TERMINALFILES} 44 VIMBFILES = xdg-config/vimb/config xdg-config/vimb/style.css 45 vimb : ${VIMBFILES} 46 DUNSTFILES = xdg-config/dunst/dunstrc 47 dunst : ${DUNSTFILES} 48 RATPOISONFILES = xdg-config/ratpoison/config bin/ratborder bin/dratmenu 49 ratpoison : ${RATPOISONFILES} 50 TWMFILES = xdg-config/twm/config 51 twm : ${TWMFILES} 52 XORGFILES = out/.xinitrc bin/ratpoisonrc bin/twmrc bin/exwm xdg-config/sxhkd/sxhkdrc 53 xorg: ${XORGFILES} 54 55 ${EMAILFILES}: email.org 56 mkdir -p ${XDG_CONFIG_HOME}/{notmuch,mbsync,msmtp} 57 ${emacs-eval} '(org-babel-tangle-file "email.org")' 58 59 ${MPDFILES}: mpd.org 60 mkdir -p ${XDG_CONFIG_HOME}/mpd ~/.local/share/mpd/playlists 61 ${emacs-eval} '(org-babel-tangle-file "mpd.org")' 62 63 ${NETHACKFILES}: nethack.org 64 mkdir -p ${XDG_CONFIG_HOME}/nethack 65 ${emacs-eval} '(org-babel-tangle-file "nethack.org")' 66 67 ${SCREENFILES}: screen.org 68 mkdir -p ${XDG_CONFIG_HOME}/screen 69 ${emacs-eval} '(org-babel-tangle-file "screen.org")' 70 71 ${TERMINALFILES}: terminal.org 72 mkdir -p ${XDG_CONFIG_HOME}/{bash,readline} 73 ${emacs-eval} '(org-babel-tangle-file "terminal.org")' 74 75 ${VIMBFILES}: vimb.org 76 mkdir -p ${XDG_CONFIG_HOME}/vimb 77 ${emacs-eval} '(org-babel-tangle-file "vimb.org")' 78 79 ${DUNSTFILES}: dunst.org 80 mkdir -p ${XDG_CONFIG_HOME}/dunst 81 ${emacs-eval} '(org-babel-tangle-file "dunst.org")' 82 83 ${RATPOISONFILES}: ratpoison.org 84 mkdir -p ${XDG_CONFIG_HOME}/ratpoison 85 ${emacs-eval} '(org-babel-tangle-file "ratpoison.org")' 86 87 ${TWMFILES}: twm.org 88 mkdir -p ${XDG_CONFIG_HOME}/twm 89 ${emacs-eval} '(org-babel-tangle-file "twm.org")' 90 91 ${XORGFILES}: xorg.org 92 mkdir -p ${XDG_CONFIG_HOME}/sxhkd 93 ${emacs-eval} '(org-babel-tangle-file "xorg.org")'