From f5e88cf6091aebc48fa23ff0f15a8600eb11bf8d Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Wed, 5 Dec 2012 00:13:28 +0100 Subject: Add Makefiles for all files --- dotfiles.mk | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 dotfiles.mk (limited to 'dotfiles.mk') diff --git a/dotfiles.mk b/dotfiles.mk new file mode 100644 index 0000000..6d33f72 --- /dev/null +++ b/dotfiles.mk @@ -0,0 +1,55 @@ +LOAD_PATH=. /usr/share/emacs/site-lisp $(HOME)/.emacs.d/site-lisp +EMACS=emacs $(addprefix -L ,$(LOAD_PATH)) + +FG_YEL=\033[0;33m +FG_GRE=\033[0;32m +FG_RED=\033[0;31m +CLR_RE=\033[0;00m + +compile = $(EMACS) -Q -batch -eval "(byte-compile-file \"$(1)\")" +define newer = +$(shell if [ "$(1)" -nt "$(DESTDIR)/$(1)" ]; then echo "newer"; fi) +endef + +install-objects=$(addprefix install-,$(objects)) +uninstall-objects=$(addprefix uninstall-,$(objects)) +check-objects=$(addprefix check-,$(objects)) + +install-modules=$(addprefix install-,$(modules)) +uninstall-modules=$(addprefix uninstall-,$(modules)) +check-modules=$(addprefix check-,$(modules)) + +.PHONY: all install uninstall check uninstall $(modules) \ + $(install-objects) $(uninstall-objects) $(check-objects) \ + $(install-modules) $(uninstall-modules) $(check-modules) +all: $(modules) $(objects) +install: $(install-modules) $(install-objects) +check: $(check-modules) $(check-objects) +uninstall: $(uninstall-modules) $(uninstall-objects) + +$(modules): %: + @echo $(MAKEFILES) + @$(MAKE) -C $* + +$(install-objects): install-%: % + $(if $(call newer,$*),install -pDm 644 "$*" "$(DESTDIR)/$*") + +$(install-modules): install-%: + @$(MAKE) -C $* install + +$(uninstall-objects): uninstall-%: + $(if $(call newer,$*),rm -f "$(DESTDIR)/$*") + +$(uninstall-modules): uninstall-%: + @$(MAKE) -C $* uninstall + +$(check-objects): check-%: + @$(if $(call newer,$*), \ + echo -e "$(FG_YEL)$* $(FG_GRE)newer$(CLR_RE)!", \ + echo -e "$(FG_YEL)$* $(FG_RED)not newer$(CLR_RE).") + +$(check-modules): check-%: + @$(MAKE) -C $* check + +$(filter %.elc,$(objects)): %.elc: %.el + $(call compile,$^) -- cgit v1.2.3-54-g00ecf