Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. all: ${GOPATH}/bin/hercules${EXE}
  9. test: all
  10. go test gopkg.in/src-d/hercules.v3
  11. ${GOPATH}/bin/protoc-gen-gogo${EXE}:
  12. go get -v github.com/gogo/protobuf/protoc-gen-gogo
  13. ifneq ($(OS),Windows_NT)
  14. pb/pb.pb.go: pb/pb.proto ${GOPATH}/bin/protoc-gen-gogo
  15. PATH=${PATH}:${GOPATH}/bin protoc --gogo_out=pb --proto_path=pb pb/pb.proto
  16. else
  17. pb/pb.pb.go: pb/pb.proto ${GOPATH}/bin/protoc-gen-gogo.exe
  18. set "PATH=${PATH};${GOPATH}\bin" && \
  19. call protoc --gogo_out=pb --proto_path=pb pb/pb.proto
  20. endif
  21. pb/pb_pb2.py: pb/pb.proto
  22. protoc --python_out pb --proto_path=pb pb/pb.proto
  23. cmd/hercules/plugin_template_source.go: cmd/hercules/plugin.template
  24. cd cmd/hercules && go generate
  25. ${GOPATH}/src/gopkg.in/bblfsh/client-go.v2:
  26. go get -d -v gopkg.in/bblfsh/client-go.v2/...
  27. ${GOPATH}/pkg/$(PKG)/gopkg.in/bblfsh/client-go.v2: ${GOPATH}/src/gopkg.in/bblfsh/client-go.v2
  28. cd ${GOPATH}/src/gopkg.in/bblfsh/client-go.v2 && \
  29. make dependencies
  30. ${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
  31. go get -ldflags "-X gopkg.in/src-d/hercules.v3.BinaryGitHash=$(shell git rev-parse HEAD)" gopkg.in/src-d/hercules.v3/cmd/hercules