-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
46 lines (35 loc) · 1.25 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
TAG := $(shell git rev-parse --short HEAD)
install-proto:
go install google.golang.org/protobuf/cmd/[email protected]
go install google.golang.org/grpc/cmd/[email protected]
generate-proto:
mkdir -p ./api/generated
protoc --proto_path=./api \
--go_out=./api/generated \
--go_opt=paths=source_relative \
--go-grpc_out=./api/generated \
--go-grpc_opt=paths=source_relative \
--experimental_allow_proto3_optional=true \
./api/api.proto
build-cli:
mkdir -p ./build
go build -o ./build/nats-chat-cli ./cmd/client/main.go
build-daemon:
mkdir -p ./build
go build -o ./build/nats-chat-daemon ./cmd/server/main.go
build-all: build-cli build-daemon
docker-build-builder:
docker build -f Dockerfile.builder -t nats-chat-builder:$(TAG) .
docker tag nats-chat-builder:$(TAG) nats-chat-builder:latest
docker-build-cli: docker-build-builder
docker build -f Dockerfile.cli -t nats-chat-cli:$(TAG) .
docker tag nats-chat-cli:$(TAG) nats-chat-cli:latest
docker-build-daemon: docker-build-builder
docker build -f Dockerfile.daemon -t nats-chat-daemon:$(TAG) .
docker tag nats-chat-daemon:$(TAG) nats-chat-daemon:latest
docker-build-all: docker-build-cli docker-build-daemon
.PHONY: test
test: docker-build-all
python3 ./test/test.py
clean:
rm -rf build/*