bolt/Makefile

33 lines
777 B
Makefile
Raw Normal View History

2020-05-10 11:58:31 +02:00
TREEGEN_FILES = src/treegen/ast.dts.template src/ast-spec.txt lib/bin/bolt-treegen.js lib/treegen/parser.js lib/treegen/index.js lib/treegen/util.js src/treegen/ast-template.js
2020-05-10 15:56:34 +02:00
2020-05-10 11:58:31 +02:00
all: lib/ast.js
bolt check stdlib
2020-05-10 11:58:31 +02:00
2020-05-10 15:56:34 +02:00
lib/ast.js: $(TREEGEN_FILES)
2020-05-10 11:58:31 +02:00
@echo "Generating AST definitions ..."
@mkdir -p lib/
@chmod +x lib/bin/*.js
@bolt-treegen --js-file=lib/ast.js --dts-file src/ast.d.ts src/ast-spec.txt
2020-05-10 11:58:31 +02:00
lib/treegen/parser.js: src/treegen/parser.pegjs
@echo "Generating parser ..."
@mkdir -p lib/treegen/
@if ! npx pegjs --output lib/treegen/parser.js src/treegen/parser.pegjs; then \
rm -rf lib/treegen/parser.js; \
exit 1; \
fi
.PHONY: clean
clean:
rm -rf lib/treegen/parser.js
rm -rf lib/ast.js
rm -rf src/ast.d.ts
.PHONY: distclean
distclean:
rm -rf lib/