about summary refs log tree commit diff stats
path: root/doc/Makefile
blob: e98da469546e0fe10953c09cce9ae2f20823cc31 (plain) (blame)
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
.POSIX:
.DELETE_ON_ERROR:

# Outputs other than Gemini aren't required

GEMINI := breaking_rules.gmi bane.20.cdr15.gmi

.PHONY: all
all: breaking_rules.pdf breaking_rules.html breaking_rules.txt bane.20.cdr15.html lkbib.txt

# Stick with gfm for as long as possible.
# Use stuff beyond that only where absolutely necessary.
# Similar to code, YAGNI.

breaking_rules.pdf: macros.ms breaking_rules.md refs.i
	( cat macros.ms; lowdown -sTms breaking_rules.md ) | pdfroff -i -t -R -mspdf -k -Kutf8 > $@

# On macOS only, headers aren't emitted currently
%.html: macros.ms %.md refs.i
	( cat macros.ms; lowdown -sTms $(filter %.md,$^) ) | groff -Txhtml -i -t -R -ms -k -Kutf8 > $@

breaking_rules.txt: macros.ms breaking_rules.md refs.i
	( cat macros.ms; lowdown -sTms breaking_rules.md ) | env GROFF_NO_SGR=t groff -Tlatin1 -i -t -R -ms -k -Kutf8 -c | ul > $@

# None of setting GROFF_NO_SGR, using the "-c" option,
# or piping through ul worked.
# GROFF_NO_SGR=1 groff -Tutf8 -R -ms -k -Kutf8 -c macros.ms lkbib.ms | ul > $@
lkbib.txt: macros.ms lkbib.ms refs.i
	groff -Tutf8 -R -ms -k -Kutf8 macros.ms lkbib.ms > $@

%.gmi: %.md
	md2gemini -m $^ > $@

refs.i: refs
	indxbib $^

.PHONY: clean
clean:
	$(RM) breaking_rules.pdf breaking_rules.html breaking_rules.txt bane.20.cdr15.html

.PHONY: push
push: $(GEMINI)
	scp $^ dbane@republic.circumlunar.space:/usr/home/dbane/gemini/lsp_doc