forked from anders-wartoft/air-gap
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
93 lines (68 loc) · 3.91 KB
/
Makefile
File metadata and controls
93 lines (68 loc) · 3.91 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
83
84
85
86
87
88
89
90
91
92
93
GIT_VERSION := $(shell git describe --tags `git rev-list --tags --max-count=1`)
# Build number file
BUILD_NUMBER_FILE := BUILD_NUMBER
BUILD_NUMBER := $(shell cat $(BUILD_NUMBER_FILE))
NEXT_BUILD_NUMBER := $(shell echo $$(($(BUILD_NUMBER)+1)))
# Add build number to Go binaries
BUILD_LDFLAGS := -X 'main.BuildNumber=$(NEXT_BUILD_NUMBER)'
.PHONY: all upstream downstream clean
.PHONY: java
all: upstream downstream upstream-linux-arm64 upstream-linux-amd64 downstream-linux-arm64 downstream-linux-amd64 create create-linux-arm64 create-linux-amd64 resend resend-linux-arm64 resend-linux-amd64 java
java:
cd java-streams && mvn clean package
src/version/version.go:
git fetch --tags
@echo 'package version\n\nvar GitVersion = "$(GIT_VERSION)"' > ./src/version/version.go
upstream: src/version/version.go src/cmd/upstream/main.go
mkdir -p ./target
go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/upstream ./src/cmd/upstream
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
upstream-linux-arm64: src/version/version.go src/cmd/upstream/main.go
mkdir -p ./target
GOOS=linux GOARCH=arm64 go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/upstream-linux-arm64 ./src/cmd/upstream
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
chmod +x ./target/upstream-linux-arm64
upstream-linux-amd64: src/version/version.go src/cmd/upstream/main.go
mkdir -p ./target
GOOS=linux GOARCH=amd64 go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/upstream-linux-amd64 ./src/cmd/upstream
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
downstream: src/version/version.go src/cmd/downstream/main.go
mkdir -p ./target
go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/downstream ./src/cmd/downstream
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
downstream-linux-arm64: src/version/version.go ./src/cmd/downstream/main.go
mkdir -p ./target
GOOS=linux GOARCH=arm64 go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/downstream-linux-arm64 ./src/cmd/downstream
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
downstream-linux-amd64: src/version/version.go ./src/cmd/downstream/main.go
mkdir -p ./target
GOOS=linux GOARCH=amd64 go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/downstream-linux-amd64 ./src/cmd/downstream
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
create: src/version/version.go src/cmd/create/main.go
mkdir -p ./target
go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/create ./src/cmd/create
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
create-linux-arm64: src/version/version.go ./src/cmd/create/main.go
mkdir -p ./target
GOOS=linux GOARCH=arm64 go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/create-linux-arm64 ./src/cmd/create
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
create-linux-amd64: src/version/version.go ./src/cmd/create/main.go
mkdir -p ./target
GOOS=linux GOARCH=amd64 go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/create-linux-amd64 ./src/cmd/create
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
resend: src/version/version.go src/cmd/resend/main.go
mkdir -p ./target
go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/resend ./src/cmd/resend
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
resend-linux-arm64: src/version/version.go ./src/cmd/resend/main.go
mkdir -p ./target
GOOS=linux GOARCH=arm64 go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/resend-linux-arm64 ./src/cmd/resend
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
resend-linux-amd64: src/version/version.go ./src/cmd/resend/main.go
mkdir -p ./target
GOOS=linux GOARCH=amd64 go build -ldflags '$(BUILD_LDFLAGS)' -o ./target/resend-linux-amd64 ./src/cmd/resend
@echo $(NEXT_BUILD_NUMBER) > $(BUILD_NUMBER_FILE)
build-all: upstream downstream upstream-linux-arm64 upstream-linux-amd64 downstream-linux-arm64 downstream-linux-amd64 create create-linux-arm64 create-linux-amd64 resend resend-linux-arm64 resend-linux-amd64 java
clean:
rm -f ./target/upstream* ./target/downstream* src/version/version.go
cd java-streams && mvn clean