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