forked from oniony/TMSU
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
82 lines (71 loc) · 1.73 KB
/
Makefile
File metadata and controls
82 lines (71 loc) · 1.73 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
# installation paths
INSTALL_DIR=/usr/bin
MOUNT_INSTALL_DIR=/usr/sbin
MAN_INSTALL_DIR=/usr/share/man/man1
ZSH_COMP_INSTALL_DIR=/usr/share/zsh/site-functions
# other vars
VER=$(shell grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+" src/github.com/oniony/TMSU/version/version.go)
SHELL=/bin/sh
ARCH=$(shell uname -m)
DIST_NAME=tmsu-$(ARCH)-$(VER)
DIST_DIR=$(DIST_NAME)
DIST_FILE=$(DIST_NAME).tgz
export GOPATH:=$(PWD):$(GOPATH)
all: clean compile dist test
clean:
@echo
@echo "CLEANING"
@echo
go clean github.com/oniony/TMSU
rm -Rf bin
rm -Rf $(DIST_DIR)
rm -f $(DIST_FILE)
compile:
@echo
@echo "COMPILING"
@echo
@mkdir -p bin
go build -o bin/tmsu github.com/oniony/TMSU
test: unit-test integration-test
unit-test:
@echo
@echo "RUNNING UNIT TESTS"
@echo
go test github.com/oniony/TMSU/...
integration-test:
@echo
@echo "RUNNING INTEGRATION TESTS"
@echo
@cd tests && ./runall
dist: compile
@echo
@echo "PACKAGING DISTRIBUTABLE"
@echo
@mkdir -p $(DIST_DIR)
cp -R bin $(DIST_DIR)
cp README.md $(DIST_DIR)
cp COPYING.md $(DIST_DIR)
@mkdir -p $(DIST_DIR)/bin
cp misc/bin/* $(DIST_DIR)/bin/
@mkdir -p $(DIST_DIR)/man
gzip -fc misc/man/tmsu.1 >$(DIST_DIR)/man/tmsu.1.gz
@mkdir -p $(DIST_DIR)/misc/zsh
cp misc/zsh/_tmsu $(DIST_DIR)/misc/zsh/
tar czf $(DIST_FILE) $(DIST_DIR)
install:
@echo
@echo "INSTALLING"
@echo
cp bin/tmsu $(INSTALL_DIR)
cp misc/bin/mount.tmsu $(MOUNT_INSTALL_DIR)
cp misc/bin/tmsu-* $(INSTALL_DIR)
mkdir -p $(MAN_INSTALL_DIR)
gzip -fc misc/man/tmsu.1 >$(MAN_INSTALL_DIR)/tmsu.1.gz
mkdir -p $(ZSH_COMP_INSTALL_DIR)
cp misc/zsh/_tmsu $(ZSH_COMP_INSTALL_DIR)
uninstall:
@echo "UNINSTALLING"
rm $(INSTALL_DIR)/tmsu
rm $(MOUNT_INSTALL_DIR)/mount.tmsu
rm $(MAN_INSTALL_DIR)/tmsu.1.gz
rm $(ZSH_COMP_INSTALL_DIR)/_tmsu