-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
41 lines (29 loc) · 924 Bytes
/
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
SCENE_EXECUTABLE = scene-server
protogen:
@find . -type d | while read -r dir; do \
if ls $$dir/*.proto 1> /dev/null 2>&1; then \
cd $$dir; \
protoc --go_out=. --go-grpc_out=. *.proto; \
cd ..; \
fi \
done
prebuild: protogen
mkdir -p dist
build:
go build -o ./$(SCENE_EXECUTABLE) ./app
build-linux: prebuild
GOOS=linux GOARCH=amd64 go build -o ./dist/$(SCENE_EXECUTABLE)-linux-amd64 ./app
build-windows: prebuild
GOOS=windows GOARCH=amd64 go build -o ./dist/$(SCENE_EXECUTABLE)-windows-amd64.exe ./app
build-macos: prebuild
GOOS=darwin GOARCH=amd64 go build -o ./dist/$(SCENE_EXECUTABLE)-darwin-amd64 ./app
build-all: build-linux build-windows build-macos
run: build
./$(SCENE_EXECUTABLE)
test:
go test ./...
clean:
rm -f ./$(SCENE_EXECUTABLE)
rm -rf ./release
rm -rf ./dist
.PHONY: build build-linux build-windows build-macos build-all run test clean protogen prebuild