-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathMakefile
42 lines (31 loc) · 948 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
OWNER = gongo
REPOSITORY = 9t
COMMAND = 9t
MAIN_DIR = cmd/9t
VERSION = $(shell grep "const Version " $(MAIN_DIR)/version.go | sed -E 's/.*"(.+)"$$/\1/')
TOP = $(shell pwd)
BUILD_DIR = $(TOP)/pkg
DIST_DIR = $(TOP)/dist
XC_ARCH = "386 amd64"
XC_OS = "darwin linux windows"
XC_OUTPUT = "$(BUILD_DIR)/{{.OS}}_{{.Arch}}/{{.Dir}}"
setup:
go get -u github.com/tcnksm/ghr
build:
rm -rf $(BUILD_DIR)
mkdir $(BUILD_DIR)
gox -os $(XC_OS) -arch $(XC_ARCH) -output $(XC_OUTPUT) ./$(MAIN_DIR)
dist: build
rm -rf $(DIST_DIR)
mkdir $(DIST_DIR)
@for dir in $$(find $(BUILD_DIR) -mindepth 1 -maxdepth 1 -type d); do \
platform=$$(basename $$dir) ; \
archive=$(COMMAND)_$(VERSION)_$$platform ;\
zip -j $(DIST_DIR)/$$archive.zip $$dir/* ;\
done
@pushd $(DIST_DIR) ; shasum -a 256 *.zip > ./SHA256SUMS ; popd
release:
ghr -u $(OWNER) -r $(REPOSITORY) $(VERSION) $(DIST_DIR)
clean:
rm -rf $(BUILD_DIR)
rm -rf $(DIST_DIR)