github.com/arr-ai/arrai@v0.319.0/Makefile (about) 1 include VersionReport.mk 2 3 .PHONY: all 4 all: lint test wasm generate 5 6 .PHONY: parser 7 parser: syntax/parser.go 8 9 syntax/parser.go: tools/parser/generate_parser.go syntax/arrai.wbnf 10 go run $^ $@ 11 12 .PHONY: generate 13 generate: parser bindata 14 15 .PHONY: check-clean 16 check-clean: generate 17 git --no-pager diff HEAD && test -z "$$(git status --porcelain)" 18 19 .PHONY: bindata 20 bindata: syntax/embed/implicit_import.arrai syntax/embed/stdlib-safe.arraiz syntax/embed/stdlib-unsafe.arraiz 21 22 syntax/embed/stdlib-safe.arraiz: go.mod $(shell find syntax/stdlib -type f) 23 go run ./cmd/arrai bundle -o $@ syntax/stdlib/stdlib-safe.arrai 24 25 syntax/embed/stdlib-unsafe.arraiz: go.mod $(shell find syntax/stdlib -type f) 26 go run ./cmd/arrai bundle -o $@ syntax/stdlib/stdlib-unsafe.arrai 27 28 build: generate 29 go build -ldflags=$(LDFLAGS) ./cmd/arrai 30 31 wasm: generate 32 GOOS=js GOARCH=wasm go build -o /tmp/arrai.wasm ./cmd/arrai 33 34 install: generate 35 go install -ldflags=$(LDFLAGS) ./cmd/arrai 36 arrai info 37 [ -f $$(dirname $$(which arrai))/ai ] || ln -s arrai $$(dirname $$(which arrai))/ai 38 [ -f $$(dirname $$(which arrai))/ax ] || ln -s arrai $$(dirname $$(which arrai))/ax 39 40 tidy: generate 41 go mod tidy 42 gofmt -s -w . 43 goimports -w . 44 45 lint: generate 46 golangci-lint run 47 48 test: generate 49 go test $(GOTESTFLAGS) -tags timingsensitive ./... 50 [ "$$(go env GOOS)" == "darwin" ] || GOARCH=386 go build ./... 51 make build && ./arrai test 52 53 docker: generate 54 docker build . -t arrai