@@ -6,40 +6,65 @@ GOVERSION ?=$(shell go version | cut --delimiter=" " -f3)
6
6
COMMIT ?=$(shell git rev-parse HEAD)
7
7
BRANCH ?=$(shell git rev-parse --abbrev-ref HEAD)
8
8
9
- PREFIX =$(shell pwd)
10
- TOP_DIR =$(shell git rev-parse --show-toplevel)
11
- BIN_DIR ="/tmp/mysql_random_data_load_bin"
12
- SRC_DIR =$(shell git rev-parse --show-toplevel) /src/go
9
+ MAKE_TARS = ''
10
+ CUR_DIR =$(shell pwd)
11
+ BIN_DIR =${CUR_DIR}/build
13
12
LDFLAGS ="-X main.Version=${VERSION} -X main.Build=${BUILD} -X main.Commit=${COMMIT} -X main.Branch=${BRANCH} -X main.GoVersion=${GOVERSION} -s -w"
14
13
14
+ ifeq (${GOPATH},)
15
+ $(error GOPATH is not set)
16
+ endif
17
+
18
+ ifeq (,$(wildcard ${GOPATH}/src) )
19
+ $(error Invalid GOPATH. There is no src dir in the GOPATH)
20
+ endif
21
+
22
+ ifeq ($(findstring ${GOPATH},${CUR_DIR}) , )
23
+ $(error Wrong directorry for the project. It must be in $GOPATH/github/Percona-Lab/mysql_random_data_load)
24
+ endif
25
+
26
+ $(info )
27
+ $(info GOPATH.......... : ${GOPATH})
28
+ $(info Build directory. : ${BIN_DIR})
29
+ $(info )
30
+
15
31
.PHONY : all style format build test vet tarball linux-amd64
16
32
17
- all : clean darwin-amd64 linux-amd64
33
+ default :
34
+ @$(info Cleaning old tar files in ${BIN_DIR})
35
+ @rm -f ${BIN_DIR} /mysql_random_data_load_* .tar.gz
36
+ @echo
37
+ @$(info Building in ${BIN_DIR})
38
+ @go build -ldflags ${LDFLAGS} -o ${BIN_DIR} /mysql_random_data_load main.go
39
+
40
+ all : clean darwin-amd64 linux-amd64
18
41
19
42
clean :
20
- @echo " Cleaning binaries dir ${BIN_DIR} "
21
- @rm -rf ${BIN_DIR} / 2> /dev/null
43
+ @$(info Cleaning binaries and tar.gz files in dir ${BIN_DIR})
44
+ @rm -f ${BIN_DIR} /mysql_random_data_load
45
+ @rm -f ${BIN_DIR} /mysql_random_data_load_* .tar.gz
46
+ $(eval MAKE_TARS="1")
22
47
23
48
linux-amd64 :
24
49
@echo " Building linux/amd64 binaries in ${BIN_DIR} "
25
50
@mkdir -p ${BIN_DIR}
26
- @rm -f ${BIN_DIR} /mysql_random_data_loader_linux_amd64 .tar.gz
27
- @GOOS=linux GOARCH=amd64 go build -ldflags ${LDFLAGS} -o ${BIN_DIR} /mysql_random_data_loader main.go
28
- @tar cvzf ${BIN_DIR} /mysql_random_data_loader_linux_amd64 .tar.gz -C ${BIN_DIR} mysql_random_data_loader
51
+ @rm -f ${BIN_DIR} /mysql_random_data_load_linux_amd64 .tar.gz
52
+ @GOOS=linux GOARCH=amd64 go build -ldflags ${LDFLAGS} -o ${BIN_DIR} /mysql_random_data_load main.go
53
+ @if [ " ${MAKE_TARS} " = " 1 " ] ; then tar cvzf ${BIN_DIR} /mysql_random_data_load_linux_amd64 .tar.gz -C ${BIN_DIR} mysql_random_data_load ; fi
29
54
30
55
linux-386 :
31
56
@echo " Building linux/386 binaries in ${BIN_DIR} "
32
57
@mkdir -p ${BIN_DIR}
33
- @rm -f ${BIN_DIR} /mysql_random_data_loader_linux_386 .tar.gz
34
- @GOOS=linux GOARCH=386 go build -ldflags ${LDFLAGS} -o ${BIN_DIR} /mysql_random_data_loader main.go
35
- @tar cvzf ${BIN_DIR} /mysql_random_data_loader_linux_386 .tar.gz -C ${BIN_DIR} mysql_random_data_loader
58
+ @rm -f ${BIN_DIR} /mysql_random_data_load_linux_386 .tar.gz
59
+ @GOOS=linux GOARCH=386 go build -ldflags ${LDFLAGS} -o ${BIN_DIR} /mysql_random_data_load main.go
60
+ @if [ " ${MAKE_TARS} " = " 1 " ] ; then tar cvzf ${BIN_DIR} /mysql_random_data_load_linux_386 .tar.gz -C ${BIN_DIR} mysql_random_data_load ; fi
36
61
37
62
darwin-amd64 :
38
63
@echo " Building darwin/amd64 binaries in ${BIN_DIR} "
39
64
@mkdir -p ${BIN_DIR}
40
- @rm -f ${BIN_DIR} /mysql_random_data_loader_darwin_amd64 .tar.gz
41
- @GOOS=darwin GOARCH=amd64 go build -ldflags ${LDFLAGS} -o ${BIN_DIR} /mysql_random_data_loader main.go
42
- @tar cvzf ${BIN_DIR} /mysql_random_data_loader_darwin_amd64 .tar.gz -C ${BIN_DIR} mysql_random_data_loader
65
+ @rm -f ${BIN_DIR} /mysql_random_data_load_darwin_amd64 .tar.gz
66
+ @GOOS=darwin GOARCH=amd64 go build -ldflags ${LDFLAGS} -o ${BIN_DIR} /mysql_random_data_load main.go
67
+ @if [ " ${MAKE_TARS} " = " 1 " ] ; then tar cvzf ${BIN_DIR} /mysql_random_data_load_darwin_amd64 .tar.gz -C ${BIN_DIR} mysql_random_data_load ; fi
43
68
44
69
style :
45
70
@echo " >> checking code style"
0 commit comments