72 lines
1.7 KiB
Makefile
72 lines
1.7 KiB
Makefile
|
|
DOCKER ?= $(shell which docker)
|
|
# These docs are in an order that determines how they show up in the PDF/HTML docs.
|
|
DOC_FILES := \
|
|
README.md \
|
|
code-of-conduct.md \
|
|
principles.md \
|
|
style.md \
|
|
ROADMAP.md \
|
|
implementations.md \
|
|
project.md \
|
|
bundle.md \
|
|
runtime.md \
|
|
runtime-linux.md \
|
|
config.md \
|
|
config-linux.md \
|
|
glossary.md
|
|
EPOCH_TEST_COMMIT := 041eb73d2e0391463894c04c8ac938036143eba3
|
|
|
|
docs: pdf html
|
|
.PHONY: docs
|
|
|
|
pdf:
|
|
@mkdir -p output/ && \
|
|
$(DOCKER) run \
|
|
-it \
|
|
--rm \
|
|
-v $(shell pwd)/:/input/:ro \
|
|
-v $(shell pwd)/output/:/output/ \
|
|
-u $(shell id -u) \
|
|
vbatts/pandoc -f markdown_github -t latex -o /output/docs.pdf $(patsubst %,/input/%,$(DOC_FILES)) && \
|
|
ls -sh $(shell readlink -f output/docs.pdf)
|
|
|
|
html:
|
|
@mkdir -p output/ && \
|
|
$(DOCKER) run \
|
|
-it \
|
|
--rm \
|
|
-v $(shell pwd)/:/input/:ro \
|
|
-v $(shell pwd)/output/:/output/ \
|
|
-u $(shell id -u) \
|
|
vbatts/pandoc -f markdown_github -t html5 -o /output/docs.html $(patsubst %,/input/%,$(DOC_FILES)) && \
|
|
ls -sh $(shell readlink -f output/docs.html)
|
|
|
|
|
|
HOST_GOLANG_VERSION = $(shell go version | cut -d ' ' -f3 | cut -c 3-)
|
|
# this variable is used like a function. First arg is the minimum version, Second arg is the version to be checked.
|
|
ALLOWED_GO_VERSION = $(shell test '$(shell /bin/echo -e "$(1)\n$(2)" | sort -V | head -n1)' == '$(1)' && echo 'true')
|
|
|
|
.PHONY: test .govet .golint .gitvalidation
|
|
|
|
test: .govet .golint .gitvalidation
|
|
|
|
# `go get golang.org/x/tools/cmd/vet`
|
|
.govet:
|
|
go vet -x ./...
|
|
|
|
# `go get github.com/golang/lint/golint`
|
|
.golint:
|
|
ifeq ($(call ALLOWED_GO_VERSION,1.5,$(HOST_GOLANG_VERSION)),true)
|
|
golint ./...
|
|
endif
|
|
|
|
|
|
# `go get github.com/vbatts/git-validation`
|
|
.gitvalidation:
|
|
git-validation -q -run DCO,short-subject -v -range $(EPOCH_TEST_COMMIT)..HEAD
|
|
|
|
clean:
|
|
rm -rf output/ *~
|
|
|