@kyanny's blog

My life. Opinions are my own.

dotfiles を make で管理

http://d.hatena.ne.jp/xcezx/20080417/1208401199 をみて、頭いいなー真似しよう! と思ってやってみたけどうまくいかない・・・。

#
# $Id: Makefile 28 2008-04-27 16:26:58Z kyanny $
#
all: setup
.PHONY: all setup clean

DESTDIR=${HOME}

DOTS=\
	dot.bash_profile \
	dot.bashrc \
	dot.emacs.d \
	dot.emacs.el \
	dot.folders \
	dot.keychain \
	dot.mew.el \
	dot.mlterm \
	dot.perltidyrc \
	dot.screenrc \
	dot.vimrc \
	dot.wanderlust.el \
	dot.zshrc

setup: ${DOTS}
#	${MAKE} dots-setup

${DOTS}:
#	rm -rf ${DESTDIR}/${subst dot,,$@}
	ln -s ${PWD}/$@ ${DESTDIR}/${subst dot,,$@}

#dots-setup:
#	rm -rf ${subst dot,${DESTDIR}/,${DOTS}}
#	ln -s ${PWD}/$@ ${DESTDIR}/${subst dot,,$@}

clean:
	${MAKE} dots-clean

dots-clean:
	rm -rf ${subst dot,${DESTDIR}/,${DOTS}}

同じ風にしてるつもりなんだがなぁ。 make: `all' に対して行うべき事はありません. とでる。そしてなぜか make clean はうまくいく。もちろん Makefile を編集するたびに、 touch *.el とかしてから make している。

結局 Perl でごまかしてしまった。