-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
148 lines (127 loc) · 3.53 KB
/
Makefile
File metadata and controls
148 lines (127 loc) · 3.53 KB
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#GOPATH:=$(PWD):${GOPATH}
#export GOPATH
flags=-ldflags="-s -w"
# flags=-ldflags="-s -w -extldflags -static"
TAG := $(shell git tag | sed -e "s,v,," | sort -r | head -n 1)
all: golib build
golib:
./get_golib.sh
gorelease:
goreleaser release --snapshot --clean
build:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg; go build -o srv ${flags}
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
build_all: golib build_darwin_amd64 build_darwin_arm64 build_amd64 build_amd64_static build_arm64 build_power8 build_windows_amd64 build_windows_arm64 changes
build_darwin_amd64:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg srv_darwin; GOOS=darwin go build -o srv ${flags}
mv srv srv_darwin_amd64
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
build_darwin_arm64:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg srv_darwin; GOARCH=arm64 GOOS=darwin go build -o srv ${flags}
mv srv srv_darwin_arm64
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
build_amd64:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg srv_linux; GOOS=linux go build -o srv ${flags}
mv srv srv_amd64
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
build_amd64_static:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg srv_linux; CGO_ENABLED=0 GOOS=linux go build -tags static -o srv ${flags}
mv srv srv_amd64_static
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
build_power8:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg srv_power8; GOARCH=ppc64le GOOS=linux go build -o srv ${flags}
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
mv srv srv_power8
build_arm64:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg srv_arm64; GOARCH=arm64 GOOS=linux go build -o srv ${flags}
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
mv srv srv_arm64
build_windows_amd64:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg srv.exe; GOARCH=amd64 GOOS=windows go build -o srv.exe ${flags}
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
mv srv.exe srv_amd64.exe
build_windows_arm64:
ifdef TAG
sed -i -e "s,{{VERSION}},$(TAG),g" main.go
endif
go clean; rm -rf pkg srv.exe; GOARCH=arm64 GOOS=windows go build -o srv.exe ${flags}
ifdef TAG
sed -i -e "s,$(TAG),{{VERSION}},g" main.go
endif
mv srv.exe srv_arm64.exe
install:
go install
clean:
go clean; rm -rf pkg
changes:
./changes.sh
./last_changes.sh
testdb:
/bin/rm -f /tmp/dbs.db && \
sqlite3 /tmp/dbs.db < ./static/schema/sqlite.sql && \
mkdir -p /tmp/${USER} && \
echo "test" > /tmp/${USER}/test.txt
test : testdb test_code test_int
test_code:
touch ~/.foxden.yaml
rm -f /tmp/dbs-test.db && \
sqlite3 /tmp/dbs-test.db < ./static/schema/sqlite.sql && \
LD_LIBRARY_PATH=${odir} DYLD_LIBRARY_PATH=${odir} \
DBS_DB_FILE=/tmp/dbs-test.db \
go test -test.v .
test_int:
touch ~/.foxden.yaml
rm -f /tmp/dbs-test.db && \
sqlite3 /tmp/dbs-test.db < ./static/schema/sqlite.sql && \
LD_LIBRARY_PATH=${odir} DYLD_LIBRARY_PATH=${odir} \
DBS_DB_FILE=/tmp/dbs-test.db \
DBS_INT_TESTS_DIR=data \
go test -v -failfast -run Integration
test_debug:
touch ~/.foxden.yaml
rm -f /tmp/dbs-test.db && \
sqlite3 /tmp/dbs-test.db < ./static/schema/sqlite.sql && \
LD_LIBRARY_PATH=${odir} DYLD_LIBRARY_PATH=${odir} \
DBS_DB_FILE=/tmp/dbs-test.db \
DBS_INT_TESTS_DIR=debug \
go test -v -failfast -run Integration