aboutsummaryrefslogtreecommitdiffhomepage
path: root/maker.org
diff options
context:
space:
mode:
Diffstat (limited to 'maker.org')
-rw-r--r--maker.org159
1 files changed, 159 insertions, 0 deletions
diff --git a/maker.org b/maker.org
new file mode 100644
index 0000000..7711605
--- /dev/null
+++ b/maker.org
@@ -0,0 +1,159 @@
+#+TITLE: Emacs config file written in org-mode
+#+AUTHOR: Ralph Amissah
+#+EMAIL: ralph.amissah@gmail.com
+#+STARTUP: indent
+#+LANGUAGE: en
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
+#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
+#+OPTIONS: ^:nil _:nil#+OPTIONS: ^:nil _:nil
+#+EXPORT_SELECT_TAGS: export
+#+EXPORT_EXCLUDE_TAGS: noexport
+#+TAGS: Amissah(A) Class(c) WEB(W) noexport(n)
+
+* makefile :makefile:
+#+BEGIN_SRC makefile :tangle makefile
+#DMD=dmd
+DMD=dmd
+DMD_FLAGS=-de -w
+DMD_FLAGS_DEBUG=-unittest -debug=checkdoc -debug=summary
+DMD_FLAGS_RELEASE=-release
+DMD_FLAG_BINOF=-of
+#LDC=ldc2
+LDC=ldc2
+LDC_FLAGS=-w
+LDC_FLAGS_DEBUG=-unittest -d-debug=checkdoc -d-debug=summary
+LDC_FLAGS_RELEASE=-release
+LDC_FLAG_BINOF=-of=
+#GDC=gdc
+GDC=gdc
+#GDC=gdc-5
+GDC_FLAGS=
+GDC_FLAGS_DEBUG=-fdebug=checkdoc -fdebug=summary
+GDC_FLAGS_RELEASE=-frelease
+GDC_FLAG_BINOF=-o
+## D_COMPILER=DMD
+## D_COMPILER=LDC
+## D_COMPILER=GDC
+D_COMPILER=LDC
+DC=$($(D_COMPILER))
+DC_FLAGS=$($(shell echo $(D_COMPILER)_FLAGS))
+DC_FLAGS_DEBUG=$($(shell echo $(D_COMPILER)_FLAGS_DEBUG))
+DC_FLAGS_RELEASE=$($(shell echo $(D_COMPILER)_FLAGS_RELEASE))
+DC_FLAG_BINOF=$($(shell echo $(D_COMPILER)_FLAG_BINOF))
+PRG_NAME=sdp
+PRG_SRC=$(PRG_NAME).d
+PRG_SRCDIR=./lib/$(PRG_NAME)
+PRG_BIN=$(PRG_NAME)
+PRG_BINDIR=bin
+# ORG
+EMACSLISP=/usr/share/emacs/site-lisp
+EMACSLISP_ORG=~/.emacs.d/elpa/org-20151005
+EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-20151005
+ORGFILELIST=$(shell echo `ls -1 maker.org org/*.org`)
+ORGFILES=""
+ORGDIR=$(shell echo `pwd`)
+
+all: build
+
+build: $(PRG_SRCDIR)/$(PRG_SRC)
+ $(DC) $(DC_FLAGS) \
+ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
+ $(PRG_SRCDIR)/$(PRG_SRC)
+
+rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build
+
+debug: $(PRG_SRCDIR)/$(PRG_SRC)
+ $(DC) $(DC_FLAGS) $(DC_FLAGS_DEBUG) \
+ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
+ $(PRG_SRCDIR)/$(PRG_SRC)
+
+debug_dmd: $(PRG_SRCDIR)/$(PRG_SRC)
+ $(DMD) $(DMD_FLAGS) $(DMD_FLAGS_DEBUG) \
+ $(DMD_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
+ $(PRG_SRCDIR)/$(PRG_SRC)
+
+debug_ldc: $(PRG_SRCDIR)/$(PRG_SRC)
+ $(LDC) $(LDC_FLAGS) $(LDC_FLAGS_DEBUG) \
+ $(LDC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
+ $(PRG_SRCDIR)/$(PRG_SRC)
+
+debug_gdc: $(PRG_SRCDIR)/$(PRG_SRC)
+ $(GDC) $(GDC_FLAGS) $(GDC_FLAGS_DEBUG) \
+ $(GDC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
+ $(PRG_SRCDIR)/$(PRG_SRC)
+
+release: distclean_and_init tangle $(PRG_SRCDIR)/$(PRG_SRC)
+ $(DC) $(DC_FLAGS) $(DC_FLAGS_RELEASE) \
+ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
+ $(PRG_SRCDIR)/$(PRG_SRC)
+
+init:
+ mkdir -p $(PRG_SRCDIR); \
+ mkdir -p $(PRG_BINDIR);
+
+clean: $(PRG_BINDIR)/$(PRG_BIN).o
+ rm $(PRG_BINDIR)/$(PRG_NAME).o
+
+expunge: init $(PRG_BINDIR)
+ rm -rf $(PRG_BINDIR); \
+ rm -rf $(PRG_SRCDIR);
+
+distclean: init $(PRG_BINDIR) expunge
+
+distclean_and_init: init $(PRG_BINDIR) expunge
+ mkdir -p $(PRG_SRCDIR); \
+ mkdir -p $(PRG_BINDIR);
+
+tangle:
+ for f in $(ORGFILELIST); do \
+ ORGFILES="$$ORGFILES \"$$f\""; \
+ done; \
+ emacs --batch -Q -q \
+ --eval "(progn \
+ (add-to-list 'load-path \
+ (expand-file-name \"$(EMACSLISP)\")) \
+ (add-to-list 'load-path \
+ (expand-file-name \"$(EMACSLISP_ORG)\" t)) \
+ (add-to-list 'load-path \
+ (expand-file-name \"$(EMACSLISP_ORG_CONTRIB)\" t)) \
+ (require 'org)(require 'ob)(require 'ob-tangle) \
+ (mapc (lambda (file) \
+ (find-file (expand-file-name file \"$(ORGDIR)\")) \
+ (setq-local org-src-preserve-indentation t) \
+ (org-babel-tangle) \
+ (kill-buffer)) '($$ORGFILES)))" 2>&1
+
+gitsnapshot: distclean_and_init tangle
+ git commit -a
+
+.PHONY : all build rebuild debug release \
+ clean distclean init \
+ tangle
+#+end_src
+* emacs org babel tangle :tangle:
+ [http://orgmode.org/manual/Batch-execution.html]
+#+BEGIN_SRC sh :tangle tangle :tangle-mode (identity #o755) :shebang #!/bin/sh
+# -*- mode: shell-script -*-
+# tangle files with org-mode
+DIR=`pwd`
+ORGFILES=""
+EMACSLISP=/usr/share/emacs/site-lisp
+EMACSLISP_ORG=~/.emacs.d/elpa/org-20151005
+EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-20151005
+# wrap each argument in the code required to call tangle on it
+for i in $@; do
+ ORGFILES="$ORGFILES \"$i\""
+done
+emacs --batch -Q -q \
+--eval "(progn
+(add-to-list 'load-path (expand-file-name \"$EMACSLISP\"))
+(add-to-list 'load-path (expand-file-name \"$EMACSLISP_ORG\" t))
+(add-to-list 'load-path (expand-file-name \"$EMACSLISP_ORG_CONTRIB\" t))
+(require 'org)(require 'ob)(require 'ob-tangle)
+(mapc (lambda (file)
+ (find-file (expand-file-name file \"$DIR\"))
+ (setq-local org-src-preserve-indentation t)
+ (org-babel-tangle)
+ (kill-buffer)) '($ORGFILES)))" 2>&1 #|grep tangled
+#+end_src