summaryrefslogtreecommitdiffstats
path: root/site/posts/meta/Bootstrap.org
blob: 60c9134558470505232e4d9e76df900cdc4df61f (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
53
54
55
#+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 += org.mk scripts/export-org.el coq.mk \
            sass.mk ${SASS} templates/main.html \
            soupault.conf

include org.mk coq.mk sass.mk

EMACS := ROOT="${ROOT}" emacs
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 scripts/export-org.el site/style/org.sass \
coq.mk site/style/coq.sass \
  &: ${CLEODIR}/Contents.org
	@echo "  tangle  $<"
	@${EMACS} $< ${TANGLEARGS}

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

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