blob: a7bae4e6ef1ec858180b50f1d03e4b95b7b11347 (
plain) (
tree)
|
|
.POSIX:
.PHONY: all \
clean \
distclean \
install \
install-abook \
install-bash \
install-bash-completion \
install-bin \
install-bin-man \
install-cpanm \
install-curl \
install-dillo \
install-dunst \
install-emacs \
install-ex \
install-finger \
install-games \
install-games-man \
install-git \
install-gnupg \
install-gtk \
install-i3 \
install-ksh \
install-less \
install-login-shell \
install-mail \
install-man \
install-mpd \
install-mpv \
install-mutt \
install-mysql \
install-ncmcpp \
install-newsboat \
install-perlcritic \
install-perltidy \
install-plenv \
install-psql \
install-pyenv \
install-rbenv \
install-readline \
install-sh \
install-subversion \
install-systemd \
install-terminfo \
install-tidy \
install-tmux \
install-urxvt \
install-vim \
install-vim-gui \
install-vint \
install-wget \
install-x \
install-zsh \
check \
check-bash \
check-bin \
check-games \
check-git-template-hooks \
check-ksh \
check-login-shell \
check-man \
check-sh \
check-urxvt \
check-xinit \
check-zsh \
lint \
lint-bash \
lint-bin \
lint-games \
lint-git-template-hooks \
lint-ksh \
lint-sh \
lint-urxvt \
lint-vim \
lint-xinit
.SUFFIXES:
.SUFFIXES: .awk .bash .m4 .mi5 .pl .sed .sh
XDG_CACHE_HOME = $(HOME)/.cache
XDG_CONFIG_HOME = $(HOME)/.config
XDG_DATA_HOME = $(HOME)/.local/share
NAME = 'Tom Ryder'
EMAIL = tom@sanctum.geek.nz
GPG_KEYID = FA09C06E1B670CD0B2F5DE60C14286EA77BB8872
BINS = bin/ap \
bin/apf \
bin/ax \
bin/bcq \
bin/bel \
bin/bl \
bin/bp \
bin/br \
bin/brnl \
bin/ca \
bin/cf \
bin/cfr \
bin/chc \
bin/chn \
bin/clog \
bin/clrd \
bin/clwr \
bin/csmw \
bin/dam \
bin/d2u \
bin/ddup \
bin/defang \
bin/dfv \
bin/dmp \
bin/dub \
bin/edda \
bin/eds \
bin/exm \
bin/fgscr \
bin/finc \
bin/fnl \
bin/fnp \
bin/gms \
bin/grc \
bin/grec \
bin/gred \
bin/gscr \
bin/gwp \
bin/hms \
bin/htdec \
bin/htenc \
bin/htref \
bin/hurl \
bin/igex \
bin/isgr \
bin/ix \
bin/jfc \
bin/jfcd \
bin/jfp \
bin/loc \
bin/mi5 \
bin/max \
bin/maybe \
bin/mean \
bin/med \
bin/mex \
bin/mftl \
bin/mim \
bin/min \
bin/mkcp \
bin/mked \
bin/mkmv \
bin/mktd \
bin/mkvi \
bin/mode \
bin/motd \
bin/msc \
bin/murl \
bin/mw \
bin/nlbr \
bin/oii \
bin/onl \
bin/osc \
bin/pa \
bin/paz \
bin/ped \
bin/phpcsff \
bin/pit \
bin/p \
bin/pp \
bin/pph \
bin/pst \
bin/pvi \
bin/pwg \
bin/qat \
bin/quo \
bin/rep \
bin/rfcf \
bin/rfcr \
bin/rfct \
bin/rgl \
bin/rnda \
bin/rndf \
bin/rndi \
bin/rndl \
bin/rnds \
bin/sd2u \
bin/sec \
bin/shb \
bin/slow \
bin/sls \
bin/slsf \
bin/sqs \
bin/sra \
bin/sshi \
bin/sta \
bin/stbl \
bin/stex \
bin/stws \
bin/su2d \
bin/sue \
bin/supp \
bin/swr \
bin/td \
bin/tl \
bin/tlcs \
bin/tm \
bin/tot \
bin/trs \
bin/try \
bin/u2d \
bin/umake \
bin/unf \
bin/urlc \
bin/urlh \
bin/urlmt \
bin/uts \
bin/vest \
bin/vex \
bin/vic \
bin/wro \
bin/xgo \
bin/xgoc \
bin/xrbg \
bin/xrq
BINS_M4 = bin/chn.m4 \
bin/dfv.m4 \
bin/edda.m4 \
bin/mim.m4 \
bin/oii.m4 \
bin/phpcsff.m4 \
bin/pst.m4 \
bin/swr.m4 \
bin/tlcs.m4 \
bin/try.m4 \
bin/urlc.m4
BINS_SH = bin/chn.sh \
bin/dfv.sh \
bin/edda.sh \
bin/mim.sh \
bin/oii.sh \
bin/phpcsff.sh \
bin/pst.sh \
bin/swr.sh \
bin/tlcs.sh \
bin/try.sh \
bin/urlc.sh
GAMES = games/aaf \
games/acq \
games/aesth \
games/chkl \
games/dr \
games/drakon \
games/kvlt \
games/philsay \
games/pks \
games/rndn \
games/rot13 \
games/uuu \
games/squ \
games/strik \
games/xyzzy \
games/zs
GIT_TEMPLATE_HOOKS = git/template/hooks/post-update \
git/template/hooks/pre-commit \
git/template/hooks/prepare-commit-msg
all: $(BINS) \
$(GIT_TEMPLATE_HOOKS) \
git/config \
gnupg/profile.d/gnupg.sh \
less/less
clean distclean:
rm -f -- \
$(BINS) \
$(BINS_M4) \
$(BINS_SH) \
$(GAMES) \
$(GIT_TEMPLATE_HOOKS) \
bin/han \
dillo/dillorc \
dillo/dillorc.m4 \
git/config \
git/config.m4 \
gnupg/profile.d/gnupg.sh \
include/mktd.m4 \
less/less \
mutt/filters/markdown-to-html \
urxvt/ext/select \
vim/dist/*
.awk:
sh bin/shb.sh awk -f < $< > $@
chmod +x ./$@
.bash:
sh bin/shb.sh bash < $< > $@
chmod +x ./$@
.pl:
sh bin/shb.sh perl < $< > $@
chmod +x ./$@
.sed:
sh bin/shb.sh sed -f < $< > $@
chmod +x ./$@
.sh:
sh bin/shb.sh sh < $< > $@
chmod +x ./$@
.mi5.m4:
awk -f bin/mi5.awk < $< > $@
.m4.sh:
m4 < $< > $@
bin/chn.sh: bin/chn.m4 include/mktd.m4
bin/dfv.sh: bin/dfv.m4 include/mktd.m4
bin/edda.sh: bin/edda.m4 include/mktd.m4
bin/mim.sh: bin/mim.m4 include/mktd.m4
bin/oii.sh: bin/oii.m4 include/mktd.m4
bin/phpcsff.sh: bin/phpcsff.m4 include/mktd.m4
bin/pst.sh: bin/pst.m4 include/mktd.m4
bin/swr.sh: bin/swr.m4 include/mktd.m4
bin/tlcs.sh: bin/tlcs.m4 include/mktd.m4
bin/try.sh: bin/try.m4 include/mktd.m4
bin/urlc.sh: bin/urlc.m4 include/mktd.m4
dillo/dillorc: dillo/dillorc.m4
m4 \
-D HOME=$(HOME) \
dillo/dillorc.m4 > $@
git/config: git/config.m4
m4 \
-D NAME=$(NAME) \
-D EMAIL=$(EMAIL) \
-D GPG_KEYID=$(GPG_KEYID) \
-D XDG_CONFIG_HOME=$(XDG_CONFIG_HOME) \
git/config.m4 > $@
less/less: less/lesskey
lesskey --output $@ less/lesskey
gnupg/profile.d/gnupg.sh: gnupg/profile.d/gnupg.sh.m4
m4 \
-D GPG_KEYID=$(GPG_KEYID) \
gnupg/profile.d/gnupg.sh.m4 > $@
MAILDIR = $(HOME)/Mail
install: install-bin \
install-curl \
install-ex \
install-git \
install-gnupg \
install-less \
install-login-shell \
install-man \
install-readline \
install-vim
install-conf:
sh install/conf.sh
install-abook:
mkdir -p -- $(HOME)/.abook
cp -p -- abook/abookrc $(HOME)/.abook
install-bash: check-bash install-sh bin/han
mkdir -p -- $(HOME)/.bashrc.d $(HOME)/.local/bin
cp -p -- bash/bashrc $(HOME)/.bashrc
cp -p -- bash/bashrc.d/*.bash $(HOME)/.bashrc.d
cp -p -- bash/bash_profile $(HOME)/.bash_profile
cp -p -- bash/bash_logout $(HOME)/.bash_logout
cp -p -- bin/han $(HOME)/.local/bin
install-bash-completion: install-bash
mkdir -p -- $(HOME)/.bash_completion.d $(XDG_CONFIG_HOME)
cp -p -- bash/bash_completion $(XDG_CONFIG_HOME)
cp -p -- bash/bash_completion.d/*.bash $(HOME)/.bash_completion.d
install-bin: $(BINS) install-bin-man
mkdir -p -- $(HOME)/.local/bin
cp -p -- $(BINS) $(HOME)/.local/bin
install-bin-man:
mkdir -p -- $(XDG_DATA_HOME)/man/man1 $(XDG_DATA_HOME)/man/man8
cp -p -- man/man1/*.1df $(XDG_DATA_HOME)/man/man1
cp -p -- man/man8/*.8df $(XDG_DATA_HOME)/man/man8
install-cpanm:
cp -p -- cpanm/profile.d/*.sh $(HOME)/.profile.d
install-curl:
cp -p -- curl/curlrc $(HOME)/.curlrc
install-dillo: dillo/dillorc install-x
mkdir -p -- $(HOME)/.dillo
cp -p -- dillo/dillorc $(HOME)/.dillo/dillorc
install-dunst: install-x
mkdir -p -- $(XDG_CONFIG_HOME)/dunst
cp -p -- dunst/dunstrc $(XDG_CONFIG_HOME)/dunst
install-emacs: emacs/bin/emacsm install-sh
mkdir -p -- $(HOME)/.local/bin
cp -p -- emacs/emacs $(HOME)/.emacs
cp -p -- emacs/bin/emacsm $(HOME)/.local/bin
cp -p -- emacs/profile.d/emacs.sh $(HOME)/.profile.d
install-ex:
cp -p -- ex/exrc $(HOME)/.exrc
install-finger:
cp -p -- finger/plan $(HOME)/.plan
cp -p -- finger/project $(HOME)/.project
cp -p -- finger/pgpkey $(HOME)/.pgpkey
install-games: $(GAMES) install-games-man
mkdir -p -- $(HOME)/.local/games
cp -p -- $(GAMES) $(HOME)/.local/games
install-games-man:
mkdir -p -- $(XDG_DATA_HOME)/man/man6
cp -p -- man/man6/*.6df $(XDG_DATA_HOME)/man/man6
install-git: git/config $(GIT_TEMPLATE_HOOKS)
mkdir -p -- $(XDG_CONFIG_HOME)/git
cp -p -- git/config $(XDG_CONFIG_HOME)/git/config
mkdir -p -- $(XDG_CONFIG_HOME)/git/template
cp -pR -- git/template/description \
$(XDG_CONFIG_HOME)/git/template/description
mkdir -p -- $(XDG_CONFIG_HOME)/git/template/hooks
cp -pR -- $(GIT_TEMPLATE_HOOKS) \
$(XDG_CONFIG_HOME)/git/template/hooks
install-gnupg: gnupg/profile.d/gnupg.sh install-sh
cp -p -- gnupg/profile.d/*.sh $(HOME)/.profile.d
install-gtk:
mkdir -p -- $(XDG_CONFIG_HOME)/gtk-3.0
cp -p -- gtk/gtkrc-2.0 $(HOME)/.gtkrc-2.0
cp -p -- gtk/gtk-3.0/settings.ini $(XDG_CONFIG_HOME)/gtk-3.0
install-i3: install-x
mkdir -p -- $(XDG_CONFIG_HOME)/i3
cp -p -- i3/* $(XDG_CONFIG_HOME)/i3
install-keychain: install-sh
cp -p -- keychain/profile.d/*.sh $(HOME)/.profile.d
cp -p -- keychain/shrc.d/*.sh $(HOME)/.shrc.d
install-less: less/less
mkdir -p -- $(HOME)/.profile.d
cp -- less/profile.d/*.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CONFIG_HOME)/less
cp -p -- less/less $(XDG_CONFIG_HOME)/less/key
install-mail:
cp -p -- mail/signature $(HOME)/.signature
install-man:
mkdir -p -- $(XDG_DATA_HOME)/man/man7
cp -p -- man/man7/dotfiles.7df $(XDG_DATA_HOME)/man/man7
install-mpd: install-sh
mkdir -p -- $(HOME)/.mpd/playlists
cp -p -- mpd/profile.d/*.sh $(HOME)/.profile.d
cp -p -- mpd/mpdconf $(HOME)/.mpdconf
install-mpv:
mkdir -p -- $(XDG_CONFIG_HOME)/mpv
cp -p -- mpv/* $(XDG_CONFIG_HOME)/mpv
install-mutt: install-gnupg install-mail mutt/filters/markdown-to-html
mkdir -p -- \
$(XDG_CONFIG_HOME)/mutt \
$(XDG_CONFIG_HOME)/mutt/muttrc.d \
$(XDG_CACHE_HOME)/mutt/headers \
$(XDG_DATA_HOME)/mutt/autocrypt \
$(HOME)/.local/libexec/mutt/filters
cp -p -- mutt/muttrc \
mutt/mailcap \
$(XDG_CONFIG_HOME)/mutt
cp -p -- mutt/muttrc.d/src \
$(XDG_CONFIG_HOME)/mutt/muttrc.d
touch -- $(XDG_CONFIG_HOME)/mutt/aliases
cp -p -- mutt/filters/markdown-to-html \
$(HOME)/.local/libexec/mutt/filters
install-ncmcpp: install-mpd
mkdir -p -- $(HOME)/.ncmpcpp
cp -p -- ncmpcpp/config $(HOME)/.ncmpcpp
install-newsboat: install-systemd
mkdir -p -- $(XDG_CONFIG_HOME)/newsboat $(XDG_DATA_HOME)/newsboat
cp -p -- newsboat/config $(XDG_CONFIG_HOME)/newsboat
-command -v systemctl >/dev/null 2>&1 \
&& mkdir -p -- $(XDG_CONFIG_HOME)/systemd/user \
&& cp -p -- newsboat/systemd/user/* $(XDG_CONFIG_HOME)/systemd/user \
&& systemctl --user daemon-reload \
&& systemctl --user start reload-newsboat.timer \
&& systemctl --user enable reload-newsboat.timer
install-mysql:
cp -p -- mysql/my.cnf $(HOME)/.my.cnf
install-ksh: check-ksh install-sh
mkdir -p -- $(HOME)/.kshrc.d
cp -p -- ksh/shrc.d/*.sh $(HOME)/.shrc.d
cp -p -- ksh/kshrc $(HOME)/.kshrc
cp -p -- ksh/kshrc.d/*.ksh $(HOME)/.kshrc.d
install-login-shell: check-login-shell
sh install/login-shell.sh
install-perlcritic: install-sh
cp -p -- perlcritic/profile.d/*.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CONFIG_HOME)/perlcritic
cp -p -- perlcritic/perlcriticrc $(XDG_CONFIG_HOME)/perlcritic/perlcriticrc
install-perltidy: install-sh
cp -p -- perltidy/profile.d/*.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CONFIG_HOME)/perltidy
cp -p -- perltidy/perltidyrc $(XDG_CONFIG_HOME)/perltidy/perltidyrc
install-plenv: install-sh install-cpanm
cp -p -- plenv/profile.d/*.sh $(HOME)/.profile.d
cp -p -- plenv/shrc.d/*.sh $(HOME)/.shrc.d
install-psql:
cp -p -- psql/psqlrc $(HOME)/.psqlrc
install-pyenv: install-sh
cp -p -- pyenv/profile.d/*.sh $(HOME)/.profile.d
cp -p -- pyenv/shrc.d/*.sh $(HOME)/.shrc.d
install-rbenv: install-sh
cp -p -- rbenv/profile.d/*.sh $(HOME)/.profile.d
cp -p -- rbenv/shrc.d/*.sh $(HOME)/.shrc.d
install-readline:
cp -p -- readline/inputrc $(HOME)/.inputrc
install-sh: check-sh
mkdir -p -- $(HOME)/.profile.d $(HOME)/.shrc.d
cp -p -- sh/profile $(HOME)/.profile
cp -p -- sh/profile.d/*.sh $(HOME)/.profile.d
cp -p -- sh/shinit $(HOME)/.shinit
cp -p -- sh/shrc $(HOME)/.shrc
cp -p -- sh/shrc.d/*.sh $(HOME)/.shrc.d
install-subversion:
mkdir -p -- $(HOME)/.subversion
cp -p -- subversion/config $(HOME)/.subversion
install-systemd:
-command -v systemctl >/dev/null 2>&1 \
&& mkdir -p -- $(XDG_CONFIG_HOME)/systemd/user \
&& cp -p -- systemd/user/* $(XDG_CONFIG_HOME)/systemd/user \
&& systemctl --user daemon-reload \
# Need to install these in appropriate order to meet dependencies; could trust
# the system glob, but a fixed list is just more straightforward
install-terminfo:
tic terminfo/putty.ti
tic terminfo/putty-256color.ti
tic terminfo/rxvt.ti
tic terminfo/rxvt-256color.ti
tic terminfo/rxvt-unicode.ti
tic terminfo/rxvt-unicode-256color.ti
tic terminfo/screen.ti
tic terminfo/screen-256color.ti
install-tidy: install-sh
cp -p -- tidy/profile.d/*.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CONFIG_HOME)/tidy
cp -p -- tidy/tidyrc $(XDG_CONFIG_HOME)/tidy/tidyrc
install-tmux: tmux/tmux.conf install-terminfo
cp -p -- tmux/tmux.conf $(HOME)/.tmux.conf
install-urxvt: urxvt/ext/select
mkdir -p -- $(HOME)/.urxvt/ext
cp -- urxvt/ext/select $(HOME)/.urxvt/ext
VIM = vim
VIMDIR = $(HOME)/.vim
VIMRC = $(VIMDIR)/vimrc
install-vim:
mkdir -p -- $(VIMDIR)
cp -p -- vim/vimrc.stub $(HOME)/.vimrc
cp -p -- vim/vimrc $(VIMRC)
cp -p -- vim/filetype.vim \
vim/scripts.vim \
$(VIMDIR)
cp -pR -- vim/after \
vim/autoload \
vim/compiler \
vim/ftplugin \
vim/indent \
vim/plugin \
vim/syntax \
$(VIMDIR)
for ent in vim/bundle/*/* ; do \
[ -d "$$ent" ] || continue ; \
cp -pR -- "$$ent" $(VIMDIR) ; \
done
GVIMRC = $(HOME)/.gvimrc
install-vim-gui: install-vim
cp -- vim/gvimrc $(GVIMRC)
install-vint:
cp -p -- vint/vintrc.yaml $(HOME)/.vintrc.yaml
install-wget: install-sh
cp -p -- wget/profile.d/*.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CACHE_HOME)/wget $(XDG_CONFIG_HOME)/wget
cp -p -- wget/wgetrc $(XDG_CONFIG_HOME)/wget/wgetrc
install-x: check-xinit
mkdir -p -- \
$(XDG_CONFIG_HOME)/sxhkd \
$(HOME)/.xinitrc.d \
$(HOME)/.Xresources.d
cp -p -- X/redshift.conf $(XDG_CONFIG_HOME)
cp -p -- X/sxhkdrc $(XDG_CONFIG_HOME)/sxhkd
cp -p -- X/xinitrc $(HOME)/.xinitrc
cp -p -- X/xinitrc.d/*.sh $(HOME)/.xinitrc.d
cp -p -- X/Xresources $(HOME)/.Xresources
cp -p -- X/Xresources.d/*.sh $(HOME)/.Xresources.d
install-zsh: check-zsh install-sh
mkdir -p -- $(HOME)/.zshrc.d
cp -p -- zsh/profile.d/*.sh $(HOME)/.profile.d
cp -p -- zsh/zprofile $(HOME)/.zprofile
cp -p -- zsh/zshrc $(HOME)/.zshrc
cp -p -- zsh/zshrc.d/*.zsh $(HOME)/.zshrc.d
check: check-bin \
check-git-template-hooks \
check-login-shell \
check-man \
check-sh
check-bash:
sh check/bash.sh
check-bin: $(BINS)
sh check/bin.sh
check-games: $(GAMES)
sh check/games.sh
check-git-template-hooks: $(GIT_TEMPLATE_HOOKS)
sh check/git-template-hooks.sh
check-man:
sh check/man.sh
check-ksh:
sh check/ksh.sh
check-login-shell:
sh check/login-shell.sh
check-sh:
sh check/sh.sh
check-urxvt: urxvt/ext/select
sh check/urxvt.sh
check-xinit:
sh check/xinit.sh
check-zsh:
sh check/zsh.sh
lint: lint-bash \
lint-bin \
lint-games \
lint-git-template-hooks \
lint-ksh \
lint-sh \
lint-urxvt \
lint-vim \
lint-xinit
lint-bash: check-bash
sh lint/bash.sh
lint-bin: check-bin
sh lint/bin.sh
lint-games: check-games
sh lint/games.sh
lint-git-template-hooks: check-git-template-hooks
sh lint/git-template-hooks.sh
lint-ksh: check-ksh
sh lint/ksh.sh
lint-sh: check-sh
sh lint/sh.sh
lint-urxvt: check-urxvt
sh lint/urxvt.sh
lint-vim:
sh lint/vim.sh
lint-xinit: check-xinit
sh lint/xinit.sh
|