-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathMakefile
44 lines (28 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
42
.PHONY: default build clean prof bench run
export GO111MODULE=on
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
MKFILE_DIR := $(dir $(MKFILE_PATH))
DEMO_DIR := $(MKFILE_DIR)/demo
GOBUILD := ${DEMO_DIR}/build
GOBIN := ${GOBUILD}/bin
export GOBIN
TARGET=${DEMO_DIR}/build/bin/main
SOURCE=${DEMO_DIR}/main/main.go
ALL_SOURCE=$(shell find ${MKFILE_DIR} -type f -name "*.go")
default: ${TARGET}
${TARGET}: ${ALL_SOURCE}
@echo "-------------- building ---------------"
go mod tidy
mkdir -p ${DEMO_DIR}build/bin/
cd ${DEMO_DIR} && go build -v -ldflags "-s -w" -o ${TARGET} ${SOURCE}
mkdir -p ${GOBUILD}/data/ && cp ${DEMO_DIR}/data/* ${GOBUILD}/data/
build: default
clean:
@rm -rf ${TARGET} && rm -rf ${GOBUILD}/data/ && rm -rf ${GOBUILD}
run : ${TARGET}
${TARGET}
prof: ${TARGET}
${TARGET} -cpuprofile=downsampling.prof
go tool pprof ${TARGET} downsampling.prof
bench:
go test -bench=. ./core/