1all: install.dependencies generate generate.stdlib build.bazel test tidy
2.PHONY: all
3
4# https://github.com/golang/go/issues/30515
5# We temporarily set GO111MODULE=off here to avoid adding these binaries to the go.mod|sum files
6# As they are not needed during runtime
7install.dependencies : export GO111MODULE=off
8install.dependencies:
9	git submodule init
10	git submodule update
11	go get github.com/clipperhouse/gen
12	go get github.com/clipperhouse/set
13	go get github.com/fatih/color
14	go get github.com/axw/gocov/gocov
15	go get github.com/mattn/goveralls
16	go get github.com/sergi/go-diff/diffmatchpatch
17	if ! go get github.com/golang/tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi;
18.PHONY: install.dependencies
19
20build.bazel:
21	bazel build //cmd/jsonnet
22.PHONY: build.bazel
23
24_build.bazel.os:
25	bazel build --platforms=@io_bazel_rules_go//go/toolchain:$(OS)_amd64 //cmd/jsonnet
26.PHONY: build.bazel.os
27
28build.bazel.linux : OS=linux
29build.bazel.linux: _build.bazel.os
30.PHONY: build.bazel.linux
31
32build.bazel.darwin : OS=darwin
33build.bazel.darwin: _build.bazel.os
34.PHONY: build.bazel.darwin
35
36
37build.bazel.windows : OS=windows
38build.bazel.windows: _build.bazel.os
39.PHONY: build.bazel.windows
40
41build:
42	go build ./cmd/jsonnet
43.PHONY: build
44
45build.old:
46	go build ./cmd/jsonnet -o jsonnet-old
47.PHONY: build.old
48
49test:
50	./tests.sh
51.PHONY: test
52
53benchmark : FILTER="Builtin"
54benchmark: build
55	./benchmark.sh ${FILTER}
56.PHONY: benchmark
57
58generate:
59	go generate
60.PHONY: generate
61
62generate.stdlib:
63	go run cmd/dumpstdlibast/dumpstdlibast.go cpp-jsonnet/stdlib/std.jsonnet > astgen/stdast.go
64.PHONY: generate.stdlib
65
66tidy:
67	go mod tidy
68	bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro=bazel/deps.bzl%jsonnet_go_dependencies
69.PHONY: tidy
70
71gazelle:
72	bazel run //:gazelle
73.PHONY: gazelle
74