24
24
# THE SOFTWARE.
25
25
# ##
26
26
27
- RELEASE_VERSION ="1.1.1 "
27
+ RELEASE_VERSION ="1.2-RC1 "
28
28
RELEASE_DIR ="release/plik-$(RELEASE_VERSION ) "
29
29
RELEASE_TARGETS =darwin-386 darwin-amd64 freebsd-386 \
30
30
freebsd-amd64 linux-386 linux-amd64 linux-arm openbsd-386 \
31
- openbsd-amd64
31
+ openbsd-amd64 windows-amd64 windows-386
32
32
33
33
GOHOSTOS =` go env GOHOSTOS `
34
34
GOHOSTARCH =` go env GOHOSTARCH `
35
35
36
36
DEBROOT_SERVER =debs/server
37
37
DEBROOT_CLIENT =debs/client
38
38
39
- all : clean frontend clients server
39
+ all : clean clean-frontend frontend clients server
40
40
41
41
# ##
42
42
# Build frontend ressources
43
43
# ##
44
44
frontend :
45
45
@if [ ! -d server/public/node_modules ]; then cd server/public && npm install ; fi
46
46
@if [ ! -d server/public/bower_components ]; then cd server/public && node_modules/bower/bin/bower install --allow-root ; fi
47
- @if [ ! -d server/public/public ]; then cd server/public && node_modules/grunt-cli/bin/grunt ; fi ;
47
+ @if [ ! -d server/public/public ]; then cd server/public && node_modules/grunt-cli/bin/grunt ; fi
48
48
49
49
50
50
# ##
@@ -66,11 +66,32 @@ servers: frontend
66
66
export GOARCH=` echo $$ target | cut -d " -" -f 2` ; \
67
67
mkdir -p ../servers/$$ target; \
68
68
if [ $$ GOOS = " windows" ] ; then SERVER_PATH=$$ SERVER_DIR/plikd.exe ; fi ; \
69
+ if [ -e $$ SERVER_PATH ] ; then continue ; fi ; \
69
70
echo " Compiling plik server for $$ target to $$ SERVER_PATH" ; \
70
71
go build -o $$ SERVER_PATH ; \
71
72
done
72
73
@sed -i -e " s/$( RELEASE_VERSION) /##VERSION##/g" server/common/config.go
73
74
75
+
76
+ # ##
77
+ # Build plik utils for all architectures
78
+ # ##
79
+ utils : servers
80
+ @cd utils && for util in ` ls * .go` ; do \
81
+ for target in $(RELEASE_TARGETS) ; do \
82
+ UTIL_DIR =../servers/$$target/utils; \
83
+ UTIL_BASE=` basename $$ util .go ` ; \
84
+ UTIL_PATH=$$UTIL_DIR/$$UTIL_BASE; \
85
+ mkdir -p $$UTIL_DIR; \
86
+ export GOOS=` echo $$ target | cut -d " -" -f 1 ` ; \
87
+ if [ $$GOOS = "windows" ] ; then UTIL_PATH=$$UTIL_DIR/$$UTIL_BASE.exe ; fi ; \
88
+ if [ -e $$UTIL_PATH ] ; then continue ; fi ; \
89
+ echo "Compiling plik util file2bolt for $$target to $$UTIL_PATH"; \
90
+ go build -o $$UTIL_PATH $$util ; \
91
+ done ; \
92
+ done
93
+
94
+
74
95
# ##
75
96
# Build plik client for the current architecture
76
97
# ##
@@ -91,6 +112,7 @@ clients:
91
112
export GOARCH=` echo $$ target | cut -d " -" -f 2` ; \
92
113
mkdir -p $$ CLIENT_DIR; \
93
114
if [ $$ GOOS = " windows" ] ; then CLIENT_PATH=$$ CLIENT_DIR/plik.exe ; fi ; \
115
+ if [ -e $$ CLIENT_PATH ] ; then continue ; fi ; \
94
116
echo " Compiling plik client for $$ target to $$ CLIENT_PATH" ; \
95
117
go build -o $$ CLIENT_PATH ; \
96
118
md5sum $$ CLIENT_PATH | awk ' {print $$1}' > $$ CLIENT_MD5; \
@@ -102,7 +124,7 @@ clients:
102
124
# #
103
125
docker : release
104
126
@cp Dockerfile $(RELEASE_DIR )
105
- @cd $(RELEASE_DIR ) && docker build -t plik .
127
+ @cd $(RELEASE_DIR ) && docker build -t rootgg/ plik .
106
128
107
129
# ##
108
130
# Make server and clients Debian packages
@@ -160,6 +182,7 @@ debs-client: clients
160
182
# ##
161
183
release-template : clean frontend clients
162
184
@mkdir -p $(RELEASE_DIR ) /server/public
185
+ @mkdir -p $(RELEASE_DIR ) /server/utils
163
186
164
187
@cp -R clients $(RELEASE_DIR)
165
188
@cp -R server/plikd.cfg $(RELEASE_DIR)/server
@@ -170,6 +193,7 @@ release-template: clean frontend clients
170
193
@cp -R server/public/partials $(RELEASE_DIR)/server/public
171
194
@cp -R server/public/public $(RELEASE_DIR)/server/public
172
195
@cp -R server/public/index.html $(RELEASE_DIR)/server/public
196
+ @cp -R server/public/favicon.ico $(RELEASE_DIR)/server/public
173
197
174
198
175
199
# ##
@@ -183,22 +207,30 @@ release: release-template server
183
207
# ##
184
208
# Build release archives for all architectures
185
209
# ##
186
- releases : release-template servers
210
+ releases : release-template servers utils
187
211
188
212
@mkdir -p releases
189
213
190
214
@cd release && for target in $(RELEASE_TARGETS) ; do \
191
215
SERVER_PATH=../servers/$$target/plikd; \
216
+ UTIL_DIR=../servers/$$target/utils; \
192
217
OS=`echo $$target | cut -d "-" -f 1`; \
193
218
ARCH=`echo $$target | cut -d "-" -f 2`; \
194
219
if [ $$OS = "darwin" ] ; then OS="macos" ; fi ; \
195
220
if [ $$OS = "windows" ] ; then SERVER_PATH=../servers/$$target/plikd.exe ; fi ; \
196
221
if [ $$ARCH = "386" ] ; then ARCH="32bits" ; fi ; \
197
222
if [ $$ARCH = "amd64" ] ; then ARCH="64bits" ; fi ; \
198
- TARBALL_NAME=plik-$(RELEASE_VERSION)-$$OS-$$ARCH.tar.gz; \
199
- echo "Packaging plik release for $$target to $$TARBALL_NAME"; \
200
223
cp -R $$SERVER_PATH plik-$(RELEASE_VERSION)/server; \
201
- tar czvf ../releases/$$TARBALL_NAME plik-$(RELEASE_VERSION); \
224
+ cp -R $$UTIL_DIR plik-$(RELEASE_VERSION)/server; \
225
+ if [ $$OS = "windows" ] ; then \
226
+ TARBALL_NAME=plik-$(RELEASE_VERSION)-$$OS-$$ARCH.zip; \
227
+ echo "Packaging plik release for $$target to $$TARBALL_NAME"; \
228
+ zip -r ../releases/$$TARBALL_NAME plik-$(RELEASE_VERSION); \
229
+ else \
230
+ TARBALL_NAME=plik-$(RELEASE_VERSION)-$$OS-$$ARCH.tar.gz; \
231
+ echo "Packaging plik release for $$target to $$TARBALL_NAME"; \
232
+ tar czvf ../releases/$$TARBALL_NAME plik-$(RELEASE_VERSION); \
233
+ fi \
202
234
done
203
235
204
236
@md5sum releases/* > releases/md5sum.txt
@@ -223,21 +255,26 @@ test:
223
255
done; \
224
256
echo -n "go vet $$directory : "; \
225
257
VET=`go vet ./... 2>&1`; \
226
- if [ $$? = 0 ] ; then echo "OK" ; else echo "FAIL" && echo $$VET && ERR="1" ; fi ; \
258
+ if [ $$? = 0 ] ; then echo "OK" ; else echo "FAIL" && echo " $$VET" && ERR="1" ; fi ; \
227
259
echo -n "go lint $$directory : "; \
228
260
LINT=`golint ./...`; \
229
- if [ "$$LINT" = "" ] ; then echo "OK" ; else echo "FAIL" && echo $$LINT && ERR="1" ; fi ; \
261
+ if [ "$$LINT" = "" ] ; then echo "OK" ; else echo "FAIL" && echo " $$LINT" && ERR="1" ; fi ; \
230
262
cd - 2>&1 > /dev/null; \
231
263
done ; if [ "$$ERR" = "1" ] ; then exit 1 ; fi
232
264
@echo "cli client integration tests :\n" && cd client && ./test.sh
233
265
266
+ # ##
267
+ # Remove frontend build files
268
+ # ##
269
+ clean-frontend :
270
+ @rm -rf server/public/bower_components
271
+ @rm -rf server/public/public
272
+
234
273
# ##
235
274
# Remove all build files
236
275
# ##
237
276
clean :
238
277
@rm -rf server/common/version.go
239
- @rm -rf server/public/bower_components
240
- @rm -rf server/public/public
241
278
@rm -rf server/plikd
242
279
@rm -rf client/plik
243
280
@rm -rf clients
@@ -246,6 +283,11 @@ clean:
246
283
@rm -rf release
247
284
@rm -rf releases
248
285
286
+ # ##
287
+ # Remove all build files and node modules
288
+ # ##
289
+ clean-all : clean
290
+ @rm -rf server/public/node_modules
249
291
250
292
# ##
251
293
# Since the client/server directories are not generated
0 commit comments