Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. GOPATH ?= $(shell go env GOPATH)
  2. ifneq ($(OS),Windows_NT)
  3. EXE =
  4. else
  5. EXE = .exe
  6. endif
  7. PKG = $(shell go env GOOS)_$(shell go env GOARCH)
  8. ifneq (${DISABLE_TENSORFLOW},1)
  9. TAGS ?= tensorflow
  10. endif
  11. all: ${GOPATH}/bin/hercules${EXE}
  12. test: all
  13. go test gopkg.in/src-d/hercules.v3
  14. ${GOPATH}/bin/protoc-gen-gogo${EXE}:
  15. go get -v github.com/gogo/protobuf/protoc-gen-gogo
  16. ifneq ($(OS),Windows_NT)
  17. pb/pb.pb.go: pb/pb.proto ${GOPATH}/bin/protoc-gen-gogo
  18. PATH=${PATH}:${GOPATH}/bin protoc --gogo_out=pb --proto_path=pb pb/pb.proto
  19. else
  20. pb/pb.pb.go: pb/pb.proto ${GOPATH}/bin/protoc-gen-gogo.exe
  21. export PATH="${PATH};${GOPATH}\bin" && \
  22. protoc --gogo_out=pb --proto_path=pb pb/pb.proto
  23. endif
  24. pb/pb_pb2.py: pb/pb.proto
  25. protoc --python_out pb --proto_path=pb pb/pb.proto
  26. cmd/hercules/plugin_template_source.go: cmd/hercules/plugin.template
  27. cd cmd/hercules && go generate
  28. ${GOPATH}/src/gopkg.in/bblfsh/client-go.v2:
  29. go get -d -v gopkg.in/bblfsh/client-go.v2/...
  30. ${GOPATH}/pkg/$(PKG)/gopkg.in/bblfsh/client-go.v2: ${GOPATH}/src/gopkg.in/bblfsh/client-go.v2
  31. cd ${GOPATH}/src/gopkg.in/bblfsh/client-go.v2 && \
  32. make dependencies
  33. ${GOPATH}/bin/hercules${EXE}: *.go cmd/hercules/*.go rbtree/*.go yaml/*.go toposort/*.go pb/*.go ${GOPATH}/pkg/$(PKG)/gopkg.in/bblfsh/client-go.v2 pb/pb.pb.go pb/pb_pb2.py cmd/hercules/plugin_template_source.go
  34. go get -tags "$(TAGS)" -ldflags "-X gopkg.in/src-d/hercules.v3.BinaryGitHash=$(shell git rev-parse HEAD)" gopkg.in/src-d/hercules.v3/cmd/hercules