-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathMakefile
83 lines (61 loc) · 1.67 KB
/
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
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
OSVC_CONTEXT =
GOCMD ?= go
GOBUILD := $(GOCMD) build
GOCLEAN := $(GOCMD) clean
GOTEST := $(GOCMD) test
GOGEN := $(GOCMD) generate
GOVET := $(GOCMD) vet
GOINSTALL := $(GOCMD) install
STRIP := /usr/bin/strip
MKDIR := /usr/bin/mkdir
INSTALL := /usr/bin/install
PREFIX ?= /usr
DIST := dist
OM := bin/om
OX := bin/ox
COMPOBJ := bin/compobj
COMPOBJ_D := share/opensvc/compliance
VERSION := $(shell git describe --tags --abbrev)
.PHONY: version dist
all: clean vet test race build dist
build: version api om ox compobj
deps:
$(GOINSTALL) github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest
api:
$(GOGEN) ./daemon/api
clean:
$(GOCLEAN)
$(GOCLEAN) -testcache
rm -f $(OM) $(OX)
om:
$(GOBUILD) -o $(OM) ./cmd/om/
ox:
$(GOBUILD) -o $(OX) ./cmd/ox/
compobj:
$(GOBUILD) -o $(COMPOBJ) ./util/compobj/
test:
$(GOTEST) -p 1 -timeout 60s ./...
testinfo:
TEST_LOG_LEVEL=info $(GOTEST) -p 1 -timeout 60s ./...
race:
$(GOTEST) -p 1 -timeout 240s ./... -race
vet:
$(GOVET) ./...
install:
$(MKDIR) -p $(PREFIX)/bin
$(MKDIR) -p $(PREFIX)/$(COMPOBJ_D)
$(INSTALL) -m 755 $(OM) $(PREFIX)/$(OM)
$(INSTALL) -m 755 $(OX) $(PREFIX)/$(OX)
$(INSTALL) -m 755 $(COMPOBJ) $(PREFIX)/$(COMPOBJ)
$(PREFIX)/$(COMPOBJ) -i $(PREFIX)/$(COMPOBJ_D)
version:
echo $(VERSION) >util/version/text/VERSION
dist:
$(MKDIR) -p $(DIST)/bin
$(MKDIR) -p $(DIST)/$(COMPOBJ_D)
$(INSTALL) -m 755 $(OM) $(DIST)/$(OM)
$(INSTALL) -m 755 $(OX) $(DIST)/$(OX)
$(INSTALL) -m 755 $(COMPOBJ) $(DIST)/$(COMPOBJ)
$(DIST)/$(COMPOBJ) -r -i $(DIST)/$(COMPOBJ_D)
$(STRIP) --strip-all $(DIST)/$(OM) $(DIST)/$(OX) $(DIST)/$(COMPOBJ)
cd $(DIST) && tar czvf opensvc-$(VERSION).tar.gz $(OM) $(OX) $(COMPOBJ) $(COMPOBJ_D) && cd -