This repository has been archived by the owner on Jun 20, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Makefile
65 lines (52 loc) · 2.24 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
BEAT_NAME=gcsbeat
BEAT_PATH=github.com/GoogleCloudPlatform/gcsbeat
BEAT_GOPATH=$(firstword $(subst :, ,${GOPATH}))
BEAT_URL=https://${BEAT_PATH}
SYSTEM_TESTS=false
TEST_ENVIRONMENT=false
ES_BEATS?=./vendor/github.com/elastic/beats
GOPACKAGES=$(shell govendor list -no-status +local)
PREFIX?=.
NOTICE_FILE=NOTICE
GOBUILD_FLAGS=-i -ldflags "-X $(BEAT_PATH)/vendor/github.com/elastic/beats/libbeat/version.buildTime=$(NOW) -X $(BEAT_PATH)/vendor/github.com/elastic/beats/libbeat/version.commit=$(COMMIT_ID)"
GOX_OS=linux darwin windows ## @Building List of all OS to be supported by "make crosscompile".
GOX_FLAGS=-arch="arm64 amd64"
EXES=gcsbeat-darwin-amd64 gcsbeat-linux-amd64 gcsbeat-linux-arm64 gcsbeat-windows-amd64.exe
RELEASE_TEMPLATE_DIR=${BUILD_DIR}/releases/template
# Path to the libbeat Makefile
-include $(ES_BEATS)/libbeat/scripts/Makefile
# Copy beats into vendor directory
.PHONY: copy-vendor
copy-vendor:
mkdir -p vendor/github.com/elastic/
cp -R ${BEAT_GOPATH}/src/github.com/elastic/beats vendor/github.com/elastic/
rm -rf vendor/github.com/elastic/beats/.git
rm -R vendor/github.com/elastic/beats/auditbeat
rm -R vendor/github.com/elastic/beats/filebeat
rm -R vendor/github.com/elastic/beats/heartbeat
rm -R vendor/github.com/elastic/beats/metricbeat
rm -R vendor/github.com/elastic/beats/packetbeat
rm -R vendor/github.com/elastic/beats/winlogbeat
# This is called by the beats packer before building starts
.PHONY: before-build
before-build:
# Collects all dependencies and then calls update
.PHONY: collect
collect:
.PHONY: pre-commit
pre-commit: fmt clean update test
# Generates release archives without needing Docker
.PHONY: release
release: $(EXES)
$(EXES): crosscompile release-template
@echo "Generating release: " $@
mkdir -p ${BUILD_DIR}/releases/$@
cp -r ${RELEASE_TEMPLATE_DIR}/. ${BUILD_DIR}/releases/$@
cp ${BUILD_DIR}/bin/$@ ${BUILD_DIR}/releases/$@/${BEAT_NAME}$(suffix $@)
tar -zcvf ${BUILD_DIR}/releases/[email protected] -C ${BUILD_DIR}/releases $@
.PHONY: release-template
release-template: update
mkdir -p ${RELEASE_TEMPLATE_DIR}
cp {${BEAT_NAME}.yml,${BEAT_NAME}.reference.yml} ${RELEASE_TEMPLATE_DIR}
cp {README.md,NOTICE,LICENSE,fields.yml} ${RELEASE_TEMPLATE_DIR}
cp -r _meta/kibana ${RELEASE_TEMPLATE_DIR}/dashboards