dotfiles を make で管理する
April 28th, 2008 by admin | 1 Comment | Filed in daydotfiles とか - 4n0+h3r p13c35 をみて、この発想はなかった!ということで試してみました。makefile の書き方がよく分かっていないので、結局同じ形に落ち着きました。FreeBSD の make だと動かないので、gmake(GNU Make) を使う必要がある。OSX、Fedora、CentOS で動作確認できました。あとは、.el を自動的にコンパイルするようにすればかなり便利になる。Emacs の起動が遅いので elc にすれば改善するはず。
all:setup
.PHONY: all setup clean
DESTDIR=${HOME}
DOTS=\
dot.emacs \
dot.emacs.d \
dot.my.cnf \
dot.screenrc \
dot.zfunctions \
dot.zlogin \
dot.zshrc
DOTS_LOCAL=\
dot.emacs.local \
dot.zshrc.local
setup .PHONY: dots-setup
dots-setup .PHONY: ${DOTS} ${OTHERS}
clean: dots-clean
${DOTS}:
echo $@
ln -s ${PWD}/$@ ${DESTDIR}/${subst dot,,$@}
${DOTS_LOCAL}:
touch ${DESTDIR}/${subst dot,,$@}
clean:
${MAKE} dots-clean
${MAKE} dots_local-clean
dots-clean:
rm -rf ${subst dot,${DESTDIR}/,${DOTS}}
dots_local-clean:
rm -rf ${foreach p,${DOTS_LOCALE},${DESTDIR}/${p}}








