blob: 6f854b3136456c76788821043294caafc4f5944d [file] [log] [blame] [edit]
.PHONY: all all-help-message help check-schema fix gen gen-check doc
# default target if you just type `make`
all: all-help-message gen fix doc
# help message before starting `make all`
all-help-message: help
@echo 'Running default targets: gen fix doc'
help:
@echo 'Targets are: all, help, gen, fix, gen-check, doc'
# Validate schema and regenerate JSON and header from YAML
gen: schema.json webgpu.yml tests/extensions/extension.yml
go run ./gen -schema schema.json \
-yaml webgpu.yml \
-out-json webgpu.json \
-out-header webgpu.h \
-yaml tests/extensions/extension.yml \
-out-json tests/extensions/extension.json \
-out-header tests/extensions/webgpu_extension.h
# Regenerate files (to validate schema) then autoformat YAML
fix: gen
go run ./fix -yaml webgpu.yml
go run ./fix -yaml tests/extensions/extension.yml
# Verify that generation and autoformat are up to date (used for pull request checks)
gen-check: fix gen
@git diff --quiet -- webgpu.h || { \
echo "error: The re-generated header from yml doesn't match the checked-in version"; \
git diff -- webgpu.h; \
exit 1; \
}
@git diff --quiet -- webgpu.json || { \
echo "error: The re-translated webgpu.json from webgpu.yml doesn't match the checked-in version"; \
git diff -- webgpu.json; \
exit 1; \
}
@git diff --quiet -- webgpu.yml || { \
echo "error: Please re-run 'make fix' to format the yml"; \
git diff -- webgpu.yml; \
exit 1; \
}
@git diff --quiet -- tests/extensions/webgpu_extension.h || { \
echo "error: The re-generated extension header from yml doesn't match the checked-in version"; \
git diff -- tests/extensions/webgpu_extension.h; \
exit 1; \
}
@git diff --quiet -- tests/extensions/webgpu_extension.json || { \
echo "error: The re-translated extension json from yml doesn't match the checked-in version"; \
git diff -- tests/extensions/webgpu_extension.json; \
exit 1; \
}
@git diff --quiet -- tests/extensions/extension.yml || { \
echo "error: Please re-run 'make fix' to format the extension yml"; \
git diff -- tests/extensions/extension.yml; \
exit 1; \
}
doc: webgpu.h Doxyfile
doxygen Doxyfile
# Verify that no ` or :: made it through into the final docs
! grep -RE '`|>::' doc/generated/**/*.html