2015-12-09 12:29:50 -05:00
|
|
|
|
2021-10-29 17:49:20 -04:00
|
|
|
EPOCH_TEST_COMMIT := 78e6667ae2d67aad100b28ee9580b41b7a24e667
|
|
|
|
|
OUTPUT_DIRNAME ?= output
|
|
|
|
|
DOC_FILENAME ?= oci-runtime-spec
|
|
|
|
|
DOCKER ?= $(shell command -v docker 2>/dev/null)
|
|
|
|
|
PANDOC ?= $(shell command -v pandoc 2>/dev/null)
|
|
|
|
|
PANDOC_IMAGE ?= ghcr.io/opencontainers/pandoc:2.9.2.1-9.fc34.x86_64@sha256:590c5c7aaa6e8e7a4debae7e9102c837daa0c8a76f8f5b5c9831ea5f755e3e95
|
2016-05-23 22:33:33 -07:00
|
|
|
ifeq "$(strip $(PANDOC))" ''
|
|
|
|
|
ifneq "$(strip $(DOCKER))" ''
|
|
|
|
|
PANDOC = $(DOCKER) run \
|
2020-01-09 09:59:18 -05:00
|
|
|
--security-opt label=disable \
|
2016-05-23 22:33:33 -07:00
|
|
|
--rm \
|
|
|
|
|
-v $(shell pwd)/:/input/:ro \
|
2016-06-01 13:26:54 -04:00
|
|
|
-v $(shell pwd)/$(OUTPUT_DIRNAME)/:/$(OUTPUT_DIRNAME)/ \
|
2016-05-23 22:33:33 -07:00
|
|
|
-u $(shell id -u) \
|
2021-10-29 17:49:20 -04:00
|
|
|
$(PANDOC_IMAGE)
|
2016-05-23 22:33:33 -07:00
|
|
|
PANDOC_SRC := /input/
|
|
|
|
|
PANDOC_DST := /
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
2016-04-12 15:16:10 +08:00
|
|
|
# These docs are in an order that determines how they show up in the PDF/HTML docs.
|
2015-12-09 12:29:50 -05:00
|
|
|
DOC_FILES := \
|
2016-05-02 14:10:02 -04:00
|
|
|
version.md \
|
2016-11-14 06:37:11 -08:00
|
|
|
spec.md \
|
2015-12-09 12:29:50 -05:00
|
|
|
principles.md \
|
|
|
|
|
bundle.md \
|
|
|
|
|
runtime.md \
|
|
|
|
|
runtime-linux.md \
|
|
|
|
|
config.md \
|
|
|
|
|
config-linux.md \
|
2016-04-25 20:03:09 -07:00
|
|
|
config-solaris.md \
|
2021-12-09 16:45:04 +09:00
|
|
|
features.md \
|
|
|
|
|
features-linux.md \
|
2015-12-29 20:44:16 -08:00
|
|
|
glossary.md
|
2015-12-09 12:29:50 -05:00
|
|
|
|
2016-03-17 02:57:52 +00:00
|
|
|
default: docs
|
|
|
|
|
|
2016-06-01 13:26:54 -04:00
|
|
|
docs: $(OUTPUT_DIRNAME)/$(DOC_FILENAME).pdf $(OUTPUT_DIRNAME)/$(DOC_FILENAME).html
|
2015-12-09 12:29:50 -05:00
|
|
|
|
2016-05-23 22:33:33 -07:00
|
|
|
ifeq "$(strip $(PANDOC))" ''
|
2016-06-01 13:26:54 -04:00
|
|
|
$(OUTPUT_DIRNAME)/$(DOC_FILENAME).pdf $(OUTPUT_DIRNAME)/$(DOC_FILENAME).html:
|
2016-05-23 22:33:33 -07:00
|
|
|
$(error cannot build $@ without either pandoc or docker)
|
|
|
|
|
else
|
2016-06-01 13:26:54 -04:00
|
|
|
$(OUTPUT_DIRNAME)/$(DOC_FILENAME).pdf: $(DOC_FILES)
|
|
|
|
|
mkdir -p $(OUTPUT_DIRNAME)/ && \
|
2016-05-23 22:33:33 -07:00
|
|
|
$(PANDOC) -f markdown_github -t latex -o $(PANDOC_DST)$@ $(patsubst %,$(PANDOC_SRC)%,$(DOC_FILES))
|
2015-12-09 12:29:50 -05:00
|
|
|
|
2016-06-01 13:26:54 -04:00
|
|
|
$(OUTPUT_DIRNAME)/$(DOC_FILENAME).html: $(DOC_FILES)
|
|
|
|
|
mkdir -p $(OUTPUT_DIRNAME)/ && \
|
2016-05-23 22:33:33 -07:00
|
|
|
$(PANDOC) -f markdown_github -t html5 -o $(PANDOC_DST)$@ $(patsubst %,$(PANDOC_SRC)%,$(DOC_FILES))
|
|
|
|
|
endif
|
2015-12-09 12:29:50 -05:00
|
|
|
|
2016-05-02 14:10:02 -04:00
|
|
|
version.md: ./specs-go/version.go
|
|
|
|
|
go run ./.tool/version-doc.go > $@
|
|
|
|
|
|
2016-03-19 12:27:56 +00:00
|
|
|
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.
|
2016-08-26 08:04:20 -07:00
|
|
|
ALLOWED_GO_VERSION = $(shell test '$(shell /bin/echo -e "$(1)\n$(2)" | sort -V | head -n1)' = '$(1)' && echo 'true')
|
2016-03-19 12:27:56 +00:00
|
|
|
|
2016-01-13 19:00:56 -05:00
|
|
|
test: .govet .golint .gitvalidation
|
2016-01-07 15:32:06 -05:00
|
|
|
|
|
|
|
|
.govet:
|
|
|
|
|
go vet -x ./...
|
|
|
|
|
|
2021-10-29 17:49:20 -04:00
|
|
|
# When this is running in GitHub, it will only check the GitHub commit range
|
2016-01-07 15:32:06 -05:00
|
|
|
.gitvalidation:
|
2016-03-17 02:57:52 +00:00
|
|
|
@which git-validation > /dev/null 2>/dev/null || (echo "ERROR: git-validation not found. Consider 'make install.tools' target" && false)
|
2021-10-29 17:49:20 -04:00
|
|
|
ifdef GITHUB_SHA
|
|
|
|
|
git-validation -q -run DCO,short-subject,dangling-whitespace -range $(GITHUB_SHA)..HEAD
|
2016-05-03 15:25:31 -04:00
|
|
|
else
|
|
|
|
|
git-validation -v -run DCO,short-subject,dangling-whitespace -range $(EPOCH_TEST_COMMIT)..HEAD
|
|
|
|
|
endif
|
|
|
|
|
|
2023-03-16 16:06:00 +00:00
|
|
|
install.tools: .install.gitvalidation
|
2016-03-17 02:57:52 +00:00
|
|
|
|
|
|
|
|
.install.gitvalidation:
|
2023-03-16 16:12:34 +00:00
|
|
|
go install github.com/vbatts/git-validation@v1.2.0
|
2016-03-17 02:57:52 +00:00
|
|
|
|
2015-12-09 12:29:50 -05:00
|
|
|
clean:
|
2016-06-01 13:26:54 -04:00
|
|
|
rm -rf $(OUTPUT_DIRNAME) *~
|
2016-11-14 06:37:11 -08:00
|
|
|
rm -f version.md
|
2015-12-09 12:29:50 -05:00
|
|
|
|