@@ -6,44 +6,23 @@ ARCH := amd64
6
6
PACKAGE := github.com/dan-v/$(TARGET )
7
7
8
8
.PHONY : \
9
- help \
10
9
clean \
11
- clean-artifacts \
12
10
tools \
13
11
test \
14
12
coverage \
15
13
vet \
16
14
lint \
17
15
fmt \
18
16
build \
19
- build-lambda \
20
- build-server \
17
+ lambda-build \
18
+ server-build-linux \
19
+ server-build-osx \
21
20
doc \
22
- version \
23
- release
24
-
25
- all : tools fmt lint vet build release
26
-
27
- help :
28
- @echo ' Usage: make <OPTIONS> ... <TARGETS>'
29
- @echo ' '
30
- @echo ' Available targets are:'
31
- @echo ' '
32
- @echo ' help Show this help screen.'
33
- @echo ' clean Remove binaries, artifacts and releases.'
34
- @echo ' tools Install tools needed by the project.'
35
- @echo ' test Run unit tests.'
36
- @echo ' coverage Report code tests coverage.'
37
- @echo ' vet Run go vet.'
38
- @echo ' lint Run golint.'
39
- @echo ' fmt Run go fmt.'
40
- @echo ' build Build all.'
41
- @echo ' build-lambda Build lambda function.'
42
- @echo ' build-server Build server.'
43
- @echo ' release Zip up final artifact'
44
- @echo ' doc Start Go documentation server on port 8080.'
45
- @echo ' version Display Go version.'
46
- @echo ' '
21
+ release \
22
+ docker-build \
23
+ docker-release \
24
+
25
+ all : tools fmt lint vet test build release
47
26
48
27
print-% :
49
28
@echo $* = $($* )
@@ -79,31 +58,36 @@ lint:
79
58
fmt :
80
59
go fmt ./...
81
60
82
- build- lambda :
61
+ lambda-build :
83
62
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o artifacts/lambda/main ./pkg/lambda
84
63
zip -jr artifacts/lambda artifacts/lambda
85
64
go-bindata -nocompress -pkg server -o pkg/server/bindata.go artifacts/lambda.zip
65
+ mv artifacts/lambda.zip artifacts/lambda-$(VERSION ) .zip
86
66
87
- build-server :
67
+ server- build-linux :
88
68
CGO_ENABLED=0 GOOS=$(OS ) GOARCH=$(ARCH ) go build -ldflags \
89
69
" -X $( PACKAGE) /cmd/awslambdaproxy.version=$( VERSION) " \
90
70
-v -o $(CURDIR ) /artifacts/server/$(OS ) /$(TARGET ) ./cmd/main.go
91
71
92
- build- server-osx :
72
+ server-build -osx :
93
73
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags \
94
74
" -X $( PACKAGE) /cmd/awslambdaproxy.version=$( VERSION) " \
95
75
-v -o $(CURDIR ) /artifacts/server/darwin/$(TARGET ) ./cmd/main.go
96
76
97
- build : build- lambda build-server
77
+ build : lambda-build server- build-linux
98
78
99
- build-osx : build- lambda build- server-osx
79
+ build-osx : lambda-build server-build -osx
100
80
101
81
doc :
102
82
godoc -http=:8080 -index
103
83
104
- version :
105
- @go version
106
-
107
84
release :
108
85
mkdir -p ./artifacts
109
- zip -jr ./artifacts/$(TARGET ) -$(OS ) -$(VERSION ) .zip ./artifacts/server/$(OS ) /$(TARGET )
86
+ zip -jr ./artifacts/$(TARGET ) -$(OS ) -$(VERSION ) .zip ./artifacts/server/$(OS ) /$(TARGET )
87
+
88
+ docker :
89
+ docker build . -t vdan/awslambdaproxy:$(VERSION ) -t vdan/awslambdaproxy:latest
90
+
91
+ docker-release :
92
+ docker push vdan/awslambdaproxy:$(VERSION )
93
+ docker push vdan/awslambdaproxy:latest
0 commit comments