aboutsummaryrefslogtreecommitdiff
path: root/Makefile.doc
blob: 2adc143a344020cd64c11810445ac37e39d0853e (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# This Makefile generates the manual pages from the markdown README.mds. It depends
# on https://github.com/mmarkdown/mmark to be installed. Generally we want this to be
# updated before doing a release. The Debian package, for instance, looks at these pages
# and will install them on your system.

MMARK_VERSION:=2.2.4
PLUGINS:=$(wildcard plugin/*/README.md)
READMES:=$(subst plugin/,,$(PLUGINS))
READMES:=$(subst /README.md,,$(READMES))
PLUGINS:=$(subst plugin/,coredns-,$(PLUGINS))
PLUGINS:=$(subst /README.md,(7),$(PLUGINS))

all: mmark man/coredns.1 man/corefile.5 plugins

GO           ?= go
GOHOSTOS     ?= $(shell $(GO) env GOHOSTOS)
GOHOSTARCH   ?= $(shell $(GO) env GOHOSTARCH)
GO_BUILD_PLATFORM ?= $(GOHOSTOS)_$(GOHOSTARCH)

FIRST_GOPATH := $(firstword $(subst :, ,$(shell $(GO) env GOPATH)))
MMARK_BIN    := $(FIRST_GOPATH)/bin/mmark
MMARK        := $(FIRST_GOPATH)/bin/mmark -man

MMARK_URL := https://github.com/mmarkdown/mmark/releases/download/v$(MMARK_VERSION)/mmark_$(MMARK_VERSION)_$(GO_BUILD_PLATFORM).tgz

.PHONY: mmark
mmark: $(MMARK_BIN)

$(MMARK_BIN):
	$(eval MMARK_TMP := $(shell mktemp -d))
	curl -s -L $(MMARK_URL) | tar -xvzf - -C $(MMARK_TMP)
	mkdir -p $(FIRST_GOPATH)/bin
	cp $(MMARK_TMP)/mmark $(FIRST_GOPATH)/bin/mmark
	rm -r $(MMARK_TMP)

man/coredns.1: coredns.1.md
	@/bin/echo -e '%%%\n title = "coredns 1"\n' \
		'area = "CoreDNS"\n workgroup = "CoreDNS"\n%%%\n\n' > $@.header
	@cat $@.header $< > $@.md && rm $@.header
	@sed -i -e "s/@@PLUGINS@@/$(PLUGINS)/" $@.md
	$(MMARK) $@.md > $@ && rm $@.md

man/corefile.5: corefile.5.md
	@/bin/echo -e '%%%\n title = "corefile 5"\n' \
		'area = "CoreDNS"\n workgroup = "CoreDNS"\n%%%\n\n' > $@.header
	@cat $@.header $< > $@.md && rm $@.header
	$(MMARK) $@.md > $@ && rm $@.md

.PHONY: plugins
plugins:
	for README in $(READMES); do \
	    $(MAKE) -f Makefile.doc man/coredns-$$README.7; \
	done

man/coredns-%.7: plugin/%/README.md
	@/bin/echo -e "%%%\n title = \"`basename $@ | sed s\/\.7\/\/` 7\"\n" \
		'area = "CoreDNS"\n workgroup = "CoreDNS Plugins"\n%%%\n\n' > $@.header
	@cat $@.header $< > $@.md && rm $@.header
	@sed -i '/^# .*/d' $@.md
	$(MMARK) $@.md > $@ && rm $@.md

PHONY: clean
clean:
	rm -f man/*
07f8aa84de78ae4839589&follow=1'>[Bun.stdin] Fix handling ttyGravatar Jarred Sumner 2-4/+18 2022-12-05[internal] Add some logs for string encodingGravatar Jarred Sumner 1-1/+11 2022-12-05Fix "is not event emitter" errrorGravatar Jarred Sumner 1-4/+5 2022-12-05more tests for event emitter weirdnessGravatar Jarred Sumner 1-0/+59 2022-12-05"Fix" monkey-patching EventEmitter prototypeGravatar Jarred Sumner 4-35/+73 2022-12-04Update test-test.test.tsGravatar Jarred Sumner 1-0/+8 2022-12-04[bun:test] Fix crash when `test("foo")` is called without passing a functionGravatar Jarred Sumner 1-6/+13 2022-12-04Clean up more casesGravatar Jarred Sumner 1-6/+6 2022-12-04Fix race condition in child_processGravatar Jarred Sumner 1-9/+17 2022-12-04Update ZigGeneratedClasses.cppGravatar Jarred Sumner 1-0/+16 2022-12-04Handle exception when creating stdout/stderrGravatar Jarred Sumner 1-3/+10 2022-12-04Update ffi.zigGravatar Jarred Sumner 1-6/+6 2022-12-04Update child_processGravatar Jarred Sumner 5-22/+23 2022-12-04[breaking] `onExit` callback in Bun.spawn sets the first property to be the S...Gravatar Jarred Sumner 2-5/+40 2022-12-04[Bun.spawn] Introduce `Subprocess.prototype.signalCode`Gravatar Jarred Sumner 2-39/+118 2022-12-04Fix console.log sometimes incorrectly reporting undefinedGravatar Jarred Sumner 1-4/+4 2022-12-04[test] Ensure console.log(globalThis) doesn't crashGravatar Jarred Sumner 1-0/+1 2022-12-04Rename fileGravatar Jarred Sumner 1-0/+0 2022-12-04[internal] Make string comparisons fasterGravatar Jarred Sumner 25-256/+150 2022-12-04Fix running zig testsGravatar Jarred Sumner 1-1/+1 2022-12-04Mildly faster startup timeGravatar Jarred Sumner 11-52/+63 2022-12-04:scissors:Gravatar Jarred Sumner 3-3/+3 2022-12-04Add some basic tests for process.stdoutGravatar Jarred Sumner 9-58/+124 2022-12-04Re-add missing globalGravatar Jarred Sumner 1-0/+1 2022-12-04Silence incorrect test failureGravatar Jarred Sumner 1-0/+1 2022-12-04content-range is inclusiveGravatar Jarred Sumner 1-1/+1 2022-12-04Update README.mdGravatar Jarred Sumner 1-6/+33 2022-12-04[Bun.serve] Implement `Content-Range` support with `Bun.file()`Gravatar Jarred Sumner 5-16/+286 2022-12-04[may revert later] Coerce Infinity to max int 64, -Infinity & NaN to min int64Gravatar Jarred Sumner 1-2/+22 2022-12-03Update .gitignoreGravatar Jarred Sumner 1-0/+1 2022-12-03[test] Add a couple tests for subarray toEqualGravatar Jarred Sumner 1-0/+3 2022-12-03[fetch] Fix bug where .arrayBuffer() on an empty Response body returned a `Ui...Gravatar Jarred Sumner 1-1/+1 2022-12-03Don't invalidate previous file descriptro to avoid tripping assertionGravatar Jarred Sumner 1-5/+0 2022-12-03miscGravatar Jarred Sumner 3-1/+31 2022-12-03Add missing typeGravatar Jarred Sumner 1-0/+5 2022-12-03`process.stdout` and `process.stderr`Gravatar Jarred Sumner 15-564/+1537 2022-12-03simdutf ascii validation is about 20% faster on arm64 than our zig simd @Vect...Gravatar Jarred Sumner 1-0/+3 2022-12-03typo in readme (#1576)Gravatar Reed Jones 1-2/+2