aboutsummaryrefslogtreecommitdiff
path: root/emacsen/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'emacsen/Makefile')
-rw-r--r--emacsen/Makefile48
1 files changed, 48 insertions, 0 deletions
diff --git a/emacsen/Makefile b/emacsen/Makefile
new file mode 100644
index 0000000..ce070d9
--- /dev/null
+++ b/emacsen/Makefile
@@ -0,0 +1,48 @@
+EMACSD=~/.emacs.d/
+
+SUBDIRS = dictem
+
+MAKEDIRS = $(SUBDIRS:%=make-%)
+INSTALLDIRS = $(SUBDIRS:%=install-%)
+CLEANDIRS = $(SUBDIRS:%=clean-%)
+
+all: subdirs
+
+subdirs: $(MAKEDIRS)
+
+$(MAKEDIRS):
+ $(MAKE) -C $(@:make-%=%)
+ touch $@
+
+install: $(INSTALLDIRS)
+ [ ! -d $(EMACSD)/share/info ] || install-info $(EMACSD)/share/info/*.info $(EMACSD)/share/info/dir
+
+install-% : make-%
+$(INSTALLDIRS):
+ -mkdir -p $(EMACSD)/$(@:install-%=%)
+ $(MAKE) -C $(@:install-%=%) install DIR=$(EMACSD)/$(@:install-%=%)
+
+clean: $(CLEANDIRS)
+ rm -f make-*
+
+$(CLEANDIRS):
+ [ ! -f $(@:clean-%=%)/Makefile ] || $(MAKE) -C $(@:clean-%=%) clean
+
+# Manual overrides:
+make-dictem:
+ touch $@
+
+clean-dictem:
+ echo $@
+
+install-dictem:
+ -mkdir -p $(EMACSD)/$(@:install-%=%)
+ install -m 644 $(@:install-%=%)/*.el $(EMACSD)/$(@:install-%=%)
+
+clobber:
+ for dir in $(SUBDIRS); do \
+ git --git-dir=$${dir}/.git reset --hard HEAD; \
+ git --git-dir=$${dir}/.git clean -qxdf; \
+ done
+
+.PHONY: all install clean $(CLEANDIRS) clobber