summaryrefslogtreecommitdiffstats
path: root/site/posts/meta/Bootstrap.org
blob: 5da62a0895a3358a7e5814e5d351f5d348b540a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#+BEGIN_EXPORT html
<h1>Bootstrapping an Extensible Toolchain</h1>
#+END_EXPORT

#+BEGIN_SRC emacs-lisp :tangle (concat (getenv "ROOT") "/scripts/tangle-org.el")
  (require 'org)
  (setq org-src-preserve-indentation t)
  (org-babel-tangle)
#+END_SRC

#+BEGIN_SRC makefile :tangle (concat (getenv "ROOT") "/bootstrap.mk")
GENSASS :=
CONTENTS :=
GENFILES += scripts/export-org.el org.mk coq.mk \
            sass.mk soupault.conf

EMACS := ROOT="${ROOT}" emacs

include org.mk coq.mk sass.mk

TANGLEARGS := --batch \
              --load="${ROOT}/scripts/tangle-org.el" \
              2>/dev/null

build : ${CONTENTS} ${GENFILES}
	@echo "     run  soupault"
	@soupault
	@echo "  update  .gitignore"
	@scripts/update-gitignore.sh ${CONTENTS} ${GENFILES} ${GENSASS}

clean :
	@echo "  remove  generated files"
	@rm -rf ${CONTENTS} ${GENFILES} build/

force : clean build

soupault.conf : ${CLEODIR}/Soupault.org
	@echo "  tangle  $<"
	@${EMACS} $< ${TANGLEARGS}

org.mk coq.mk scripts/export-org.el &: ${CLEODIR}/Contents.org
	@echo "  tangle  $<"
	@${EMACS} $< ${TANGLEARGS}

sass.mk ${SASS} &: ${CLEODIR}/Theme.org
	@echo "  tangle  $<"
	@${EMACS} $< ${TANGLEARGS}
#+END_SRC

# Local Variables:
# org-src-preserve-indentation: t
# End: