|
@@ -1,4 +1,13 @@
|
|
|
|
+ifeq ($(OS),Windows_NT)
|
|
|
|
+SHELL := pwsh.exe
|
|
|
|
+.SHELLFLAGS := -NoProfile -Command
|
|
|
|
+ROOT= $(shell (Get-Location).Path)
|
|
|
|
+SYSTEM=windows
|
|
|
|
+EXT=.exe
|
|
|
|
+else
|
|
|
|
+ROOT?= $(shell pwd)
|
|
SYSTEM?= $(shell uname -s | tr '[A-Z]' '[a-z]')
|
|
SYSTEM?= $(shell uname -s | tr '[A-Z]' '[a-z]')
|
|
|
|
+endif
|
|
|
|
|
|
ifneq ("$(wildcard $(CURDIR)/platform/$(SYSTEM).mk)", "")
|
|
ifneq ("$(wildcard $(CURDIR)/platform/$(SYSTEM).mk)", "")
|
|
include $(CURDIR)/platform/$(SYSTEM).mk
|
|
include $(CURDIR)/platform/$(SYSTEM).mk
|
|
@@ -6,58 +15,50 @@ else
|
|
include $(CURDIR)/platform/linux.mk
|
|
include $(CURDIR)/platform/linux.mk
|
|
endif
|
|
endif
|
|
|
|
|
|
-CROWDSEC_FOLDER = "./cmd/crowdsec"
|
|
|
|
-CSCLI_FOLDER = "./cmd/crowdsec-cli/"
|
|
|
|
|
|
+ifneq ($(OS),Windows_NT)
|
|
|
|
+ include $(ROOT)/platform/unix_common.mk
|
|
|
|
+endif
|
|
|
|
|
|
-HTTP_PLUGIN_FOLDER = "./plugins/notifications/http"
|
|
|
|
-SLACK_PLUGIN_FOLDER = "./plugins/notifications/slack"
|
|
|
|
-SPLUNK_PLUGIN_FOLDER = "./plugins/notifications/splunk"
|
|
|
|
-EMAIL_PLUGIN_FOLDER = "./plugins/notifications/email"
|
|
|
|
-DUMMY_PLUGIN_FOLDER = "./plugins/notifications/dummy"
|
|
|
|
|
|
+CROWDSEC_FOLDER = ./cmd/crowdsec
|
|
|
|
+CSCLI_FOLDER = ./cmd/crowdsec-cli/
|
|
|
|
|
|
-HTTP_PLUGIN_BIN = "notification-http"
|
|
|
|
-SLACK_PLUGIN_BIN = "notification-slack"
|
|
|
|
-SPLUNK_PLUGIN_BIN = "notification-splunk"
|
|
|
|
-EMAIL_PLUGIN_BIN = "notification-email"
|
|
|
|
-DUMMY_PLUGIN_BIN= "notification-dummy"
|
|
|
|
|
|
+HTTP_PLUGIN_FOLDER = ./plugins/notifications/http
|
|
|
|
+SLACK_PLUGIN_FOLDER = ./plugins/notifications/slack
|
|
|
|
+SPLUNK_PLUGIN_FOLDER = ./plugins/notifications/splunk
|
|
|
|
+EMAIL_PLUGIN_FOLDER = ./plugins/notifications/email
|
|
|
|
+DUMMY_PLUGIN_FOLDER = ./plugins/notifications/dummy
|
|
|
|
|
|
-HTTP_PLUGIN_CONFIG = "http.yaml"
|
|
|
|
-SLACK_PLUGIN_CONFIG = "slack.yaml"
|
|
|
|
-SPLUNK_PLUGIN_CONFIG = "splunk.yaml"
|
|
|
|
-EMAIL_PLUGIN_CONFIG = "email.yaml"
|
|
|
|
|
|
+HTTP_PLUGIN_BIN = notification-http$(EXT)
|
|
|
|
+SLACK_PLUGIN_BIN = notification-slack$(EXT)
|
|
|
|
+SPLUNK_PLUGIN_BIN = notification-splunk$(EXT)
|
|
|
|
+EMAIL_PLUGIN_BIN = notification-email$(EXT)
|
|
|
|
+DUMMY_PLUGIN_BIN= notification-dummy$(EXT)
|
|
|
|
|
|
-CROWDSEC_BIN = "crowdsec"
|
|
|
|
-CSCLI_BIN = "cscli"
|
|
|
|
-BUILD_CMD = "build"
|
|
|
|
|
|
+HTTP_PLUGIN_CONFIG = http.yaml
|
|
|
|
+SLACK_PLUGIN_CONFIG = slack.yaml
|
|
|
|
+SPLUNK_PLUGIN_CONFIG = splunk.yaml
|
|
|
|
+EMAIL_PLUGIN_CONFIG = email.yaml
|
|
|
|
+
|
|
|
|
+CROWDSEC_BIN = crowdsec$(EXT)
|
|
|
|
+CSCLI_BIN = cscli$(EXT)
|
|
|
|
+BUILD_CMD = build
|
|
|
|
|
|
GOOS ?= $(shell go env GOOS)
|
|
GOOS ?= $(shell go env GOOS)
|
|
GOARCH ?= $(shell go env GOARCH)
|
|
GOARCH ?= $(shell go env GOARCH)
|
|
|
|
|
|
-# Golang version info
|
|
|
|
-GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1)
|
|
|
|
-GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2)
|
|
|
|
MINIMUM_SUPPORTED_GO_MAJOR_VERSION = 1
|
|
MINIMUM_SUPPORTED_GO_MAJOR_VERSION = 1
|
|
MINIMUM_SUPPORTED_GO_MINOR_VERSION = 17
|
|
MINIMUM_SUPPORTED_GO_MINOR_VERSION = 17
|
|
GO_VERSION_VALIDATION_ERR_MSG = Golang version ($(BUILD_GOVERSION)) is not supported, please use at least $(MINIMUM_SUPPORTED_GO_MAJOR_VERSION).$(MINIMUM_SUPPORTED_GO_MINOR_VERSION)
|
|
GO_VERSION_VALIDATION_ERR_MSG = Golang version ($(BUILD_GOVERSION)) is not supported, please use at least $(MINIMUM_SUPPORTED_GO_MAJOR_VERSION).$(MINIMUM_SUPPORTED_GO_MINOR_VERSION)
|
|
|
|
|
|
-# Current versioning information from env
|
|
|
|
-BUILD_VERSION ?= "$(shell git describe --tags)"
|
|
|
|
-BUILD_GOVERSION = "$(shell go version | cut -d " " -f3 | sed -E 's/[go]+//g')"
|
|
|
|
-BUILD_CODENAME = "alphaga"
|
|
|
|
-BUILD_TIMESTAMP = $(shell date +%F"_"%T)
|
|
|
|
-BUILD_TAG ?= "$(shell git rev-parse HEAD)"
|
|
|
|
-DEFAULT_CONFIGDIR ?= "/etc/crowdsec"
|
|
|
|
-DEFAULT_DATADIR ?= "/var/lib/crowdsec/data"
|
|
|
|
-BINCOVER_TESTING ?= false
|
|
|
|
-
|
|
|
|
LD_OPTS_VARS= \
|
|
LD_OPTS_VARS= \
|
|
-X github.com/crowdsecurity/crowdsec/cmd/crowdsec/main.bincoverTesting=$(BINCOVER_TESTING) \
|
|
-X github.com/crowdsecurity/crowdsec/cmd/crowdsec/main.bincoverTesting=$(BINCOVER_TESTING) \
|
|
-X github.com/crowdsecurity/crowdsec/pkg/cwversion.Version=$(BUILD_VERSION) \
|
|
-X github.com/crowdsecurity/crowdsec/pkg/cwversion.Version=$(BUILD_VERSION) \
|
|
-X github.com/crowdsecurity/crowdsec/pkg/cwversion.BuildDate=$(BUILD_TIMESTAMP) \
|
|
-X github.com/crowdsecurity/crowdsec/pkg/cwversion.BuildDate=$(BUILD_TIMESTAMP) \
|
|
-X github.com/crowdsecurity/crowdsec/pkg/cwversion.Codename=$(BUILD_CODENAME) \
|
|
-X github.com/crowdsecurity/crowdsec/pkg/cwversion.Codename=$(BUILD_CODENAME) \
|
|
-X github.com/crowdsecurity/crowdsec/pkg/cwversion.Tag=$(BUILD_TAG) \
|
|
-X github.com/crowdsecurity/crowdsec/pkg/cwversion.Tag=$(BUILD_TAG) \
|
|
--X github.com/crowdsecurity/crowdsec/pkg/csconfig.defaultConfigDir=$(DEFAULT_CONFIGDIR) \
|
|
|
|
--X github.com/crowdsecurity/crowdsec/pkg/csconfig.defaultDataDir=$(DEFAULT_DATADIR)
|
|
|
|
|
|
+-X github.com/crowdsecurity/crowdsec/pkg/cwversion.GoVersion=$(BUILD_GOVERSION) \
|
|
|
|
+-X 'github.com/crowdsecurity/crowdsec/pkg/csconfig.defaultConfigDir=$(DEFAULT_CONFIGDIR)' \
|
|
|
|
+-X 'github.com/crowdsecurity/crowdsec/pkg/csconfig.defaultDataDir=$(DEFAULT_DATADIR)'
|
|
|
|
|
|
export LD_OPTS=-ldflags "-s -w $(LD_OPTS_VARS)"
|
|
export LD_OPTS=-ldflags "-s -w $(LD_OPTS_VARS)"
|
|
export LD_OPTS_STATIC=-ldflags "-s -w $(LD_OPTS_VARS) -extldflags '-static'"
|
|
export LD_OPTS_STATIC=-ldflags "-s -w $(LD_OPTS_VARS) -extldflags '-static'"
|
|
@@ -82,6 +83,7 @@ plugins: http-plugin slack-plugin splunk-plugin email-plugin dummy-plugin
|
|
plugins_static: http-plugin_static slack-plugin_static splunk-plugin_static email-plugin_static dummy-plugin_static
|
|
plugins_static: http-plugin_static slack-plugin_static splunk-plugin_static email-plugin_static dummy-plugin_static
|
|
|
|
|
|
goversion:
|
|
goversion:
|
|
|
|
+ifneq ($(OS),Windows_NT)
|
|
@if [ $(GO_MAJOR_VERSION) -gt $(MINIMUM_SUPPORTED_GO_MAJOR_VERSION) ]; then \
|
|
@if [ $(GO_MAJOR_VERSION) -gt $(MINIMUM_SUPPORTED_GO_MAJOR_VERSION) ]; then \
|
|
exit 0 ;\
|
|
exit 0 ;\
|
|
elif [ $(GO_MAJOR_VERSION) -lt $(MINIMUM_SUPPORTED_GO_MAJOR_VERSION) ]; then \
|
|
elif [ $(GO_MAJOR_VERSION) -lt $(MINIMUM_SUPPORTED_GO_MAJOR_VERSION) ]; then \
|
|
@@ -91,105 +93,110 @@ goversion:
|
|
echo '$(GO_VERSION_VALIDATION_ERR_MSG)';\
|
|
echo '$(GO_VERSION_VALIDATION_ERR_MSG)';\
|
|
exit 1; \
|
|
exit 1; \
|
|
fi
|
|
fi
|
|
|
|
+else
|
|
|
|
+#This needs Set-ExecutionPolicy -Scope CurrentUser Unrestricted
|
|
|
|
+ @$(ROOT)/scripts/check_go_version.ps1 $(MINIMUM_SUPPORTED_GO_MAJOR_VERSION) $(MINIMUM_SUPPORTED_GO_MINOR_VERSION)
|
|
|
|
+endif
|
|
|
|
|
|
.PHONY: clean
|
|
.PHONY: clean
|
|
clean: testclean
|
|
clean: testclean
|
|
- @$(MAKE) -C $(CROWDSEC_FOLDER) clean --no-print-directory
|
|
|
|
- @$(MAKE) -C $(CSCLI_FOLDER) clean --no-print-directory
|
|
|
|
- @$(RM) $(CROWDSEC_BIN)
|
|
|
|
- @$(RM) $(CSCLI_BIN)
|
|
|
|
- @$(RM) *.log
|
|
|
|
- @$(RM) crowdsec-release.tgz
|
|
|
|
- @$(RM) crowdsec-release-static.tgz
|
|
|
|
- @$(RM) $(HTTP_PLUGIN_FOLDER)/$(HTTP_PLUGIN_BIN)
|
|
|
|
- @$(RM) $(SLACK_PLUGIN_FOLDER)/$(SLACK_PLUGIN_BIN)
|
|
|
|
- @$(RM) $(SPLUNK_PLUGIN_FOLDER)/$(SPLUNK_PLUGIN_BIN)
|
|
|
|
- @$(RM) $(EMAIL_PLUGIN_FOLDER)/$(EMAIL_PLUGIN_BIN)
|
|
|
|
- @$(RM) $(DUMMY_PLUGIN_FOLDER)/$(DUMMY_PLUGIN_BIN)
|
|
|
|
|
|
+ @$(MAKE) -C $(CROWDSEC_FOLDER) clean --no-print-directory RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
+ @$(MAKE) -C $(CSCLI_FOLDER) clean --no-print-directory RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
+ @$(RM) $(CROWDSEC_BIN) $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) $(CSCLI_BIN) $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) *.log $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) crowdsec-release.tgz $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) crowdsec-release-static.tgz $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) $(HTTP_PLUGIN_FOLDER)/$(HTTP_PLUGIN_BIN) $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) $(SLACK_PLUGIN_FOLDER)/$(SLACK_PLUGIN_BIN) $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) $(SPLUNK_PLUGIN_FOLDER)/$(SPLUNK_PLUGIN_BIN) $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) $(EMAIL_PLUGIN_FOLDER)/$(EMAIL_PLUGIN_BIN) $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) $(DUMMY_PLUGIN_FOLDER)/$(DUMMY_PLUGIN_BIN) $(WIN_IGNORE_ERR)
|
|
|
|
|
|
|
|
|
|
cscli: goversion
|
|
cscli: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(CSCLI_FOLDER) build --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(CSCLI_FOLDER) build --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
cscli-bincover: goversion
|
|
cscli-bincover: goversion
|
|
@GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(CSCLI_FOLDER) build-bincover --no-print-directory
|
|
@GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(CSCLI_FOLDER) build-bincover --no-print-directory
|
|
|
|
|
|
crowdsec: goversion
|
|
crowdsec: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(CROWDSEC_FOLDER) build --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(CROWDSEC_FOLDER) build --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
crowdsec-bincover: goversion
|
|
crowdsec-bincover: goversion
|
|
@GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(CROWDSEC_FOLDER) build-bincover --no-print-directory
|
|
@GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(CROWDSEC_FOLDER) build-bincover --no-print-directory
|
|
|
|
|
|
http-plugin: goversion
|
|
http-plugin: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(HTTP_PLUGIN_FOLDER) build --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(HTTP_PLUGIN_FOLDER) build --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
slack-plugin: goversion
|
|
slack-plugin: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(SLACK_PLUGIN_FOLDER) build --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(SLACK_PLUGIN_FOLDER) build --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
splunk-plugin: goversion
|
|
splunk-plugin: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(SPLUNK_PLUGIN_FOLDER) build --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(SPLUNK_PLUGIN_FOLDER) build --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
email-plugin: goversion
|
|
email-plugin: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(EMAIL_PLUGIN_FOLDER) build --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(EMAIL_PLUGIN_FOLDER) build --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
dummy-plugin: goversion
|
|
dummy-plugin: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(DUMMY_PLUGIN_FOLDER) build --no-print-directory
|
|
|
|
|
|
+ $(MAKE) -C $(DUMMY_PLUGIN_FOLDER) build --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
cscli_static: goversion
|
|
cscli_static: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(CSCLI_FOLDER) static --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(CSCLI_FOLDER) static --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
crowdsec_static: goversion
|
|
crowdsec_static: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(CROWDSEC_FOLDER) static --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(CROWDSEC_FOLDER) static --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
http-plugin_static: goversion
|
|
http-plugin_static: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(HTTP_PLUGIN_FOLDER) static --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(HTTP_PLUGIN_FOLDER) static --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
slack-plugin_static: goversion
|
|
slack-plugin_static: goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(SLACK_PLUGIN_FOLDER) static --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(SLACK_PLUGIN_FOLDER) static --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
splunk-plugin_static:goversion
|
|
splunk-plugin_static:goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(SPLUNK_PLUGIN_FOLDER) static --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(SPLUNK_PLUGIN_FOLDER) static --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
email-plugin_static:goversion
|
|
email-plugin_static:goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(EMAIL_PLUGIN_FOLDER) static --no-print-directory
|
|
|
|
|
|
+ @$(MAKE) -C $(EMAIL_PLUGIN_FOLDER) static --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
dummy-plugin_static:goversion
|
|
dummy-plugin_static:goversion
|
|
- @GOARCH=$(GOARCH) GOOS=$(GOOS) $(MAKE) -C $(DUMMY_PLUGIN_FOLDER) static --no-print-directory
|
|
|
|
|
|
+ $(MAKE) -C $(DUMMY_PLUGIN_FOLDER) static --no-print-directory GOARCH=$(GOARCH) GOOS=$(GOOS) RM="$(RM)" WIN_IGNORE_ERR="$(WIN_IGNORE_ERR)" CP="$(CP)" CPR="$(CPR)" MKDIR="$(MKDIR)"
|
|
|
|
|
|
.PHONY: testclean
|
|
.PHONY: testclean
|
|
testclean: bats-clean
|
|
testclean: bats-clean
|
|
- @$(RM) pkg/apiserver/ent
|
|
|
|
- @$(RM) -r pkg/cwhub/hubdir
|
|
|
|
|
|
+ @$(RM) pkg/apiserver/ent $(WIN_IGNORE_ERR)
|
|
|
|
+ @$(RM) pkg/cwhub/hubdir $(WIN_IGNORE_ERR)
|
|
|
|
|
|
.PHONY: test
|
|
.PHONY: test
|
|
test: goversion
|
|
test: goversion
|
|
$(GOTEST) $(LD_OPTS) ./...
|
|
$(GOTEST) $(LD_OPTS) ./...
|
|
|
|
|
|
package-common:
|
|
package-common:
|
|
- @echo Building Release to dir $(RELDIR)
|
|
|
|
- @mkdir -p $(RELDIR)/cmd/crowdsec
|
|
|
|
- @mkdir -p $(RELDIR)/cmd/crowdsec-cli
|
|
|
|
- @mkdir -p $(RELDIR)/$(subst ./,,$(HTTP_PLUGIN_FOLDER))
|
|
|
|
- @mkdir -p $(RELDIR)/$(subst ./,,$(SLACK_PLUGIN_FOLDER))
|
|
|
|
- @mkdir -p $(RELDIR)/$(subst ./,,$(SPLUNK_PLUGIN_FOLDER))
|
|
|
|
- @mkdir -p $(RELDIR)/$(subst ./,,$(EMAIL_PLUGIN_FOLDER))
|
|
|
|
-
|
|
|
|
- @cp $(CROWDSEC_FOLDER)/$(CROWDSEC_BIN) $(RELDIR)/cmd/crowdsec
|
|
|
|
- @cp $(CSCLI_FOLDER)/$(CSCLI_BIN) $(RELDIR)/cmd/crowdsec-cli
|
|
|
|
-
|
|
|
|
- @cp $(HTTP_PLUGIN_FOLDER)/$(HTTP_PLUGIN_BIN) $(RELDIR)/$(subst ./,,$(HTTP_PLUGIN_FOLDER))
|
|
|
|
- @cp $(SLACK_PLUGIN_FOLDER)/$(SLACK_PLUGIN_BIN) $(RELDIR)/$(subst ./,,$(SLACK_PLUGIN_FOLDER))
|
|
|
|
- @cp $(SPLUNK_PLUGIN_FOLDER)/$(SPLUNK_PLUGIN_BIN) $(RELDIR)/$(subst ./,,$(SPLUNK_PLUGIN_FOLDER))
|
|
|
|
- @cp $(EMAIL_PLUGIN_FOLDER)/$(EMAIL_PLUGIN_BIN) $(RELDIR)/$(subst ./,,$(EMAIL_PLUGIN_FOLDER))
|
|
|
|
-
|
|
|
|
- @cp $(HTTP_PLUGIN_FOLDER)/$(HTTP_PLUGIN_CONFIG) $(RELDIR)/$(subst ./,,$(HTTP_PLUGIN_FOLDER))
|
|
|
|
- @cp $(SLACK_PLUGIN_FOLDER)/$(SLACK_PLUGIN_CONFIG) $(RELDIR)/$(subst ./,,$(SLACK_PLUGIN_FOLDER))
|
|
|
|
- @cp $(SPLUNK_PLUGIN_FOLDER)/$(SPLUNK_PLUGIN_CONFIG) $(RELDIR)/$(subst ./,,$(SPLUNK_PLUGIN_FOLDER))
|
|
|
|
- @cp $(EMAIL_PLUGIN_FOLDER)/$(EMAIL_PLUGIN_CONFIG) $(RELDIR)/$(subst ./,,$(EMAIL_PLUGIN_FOLDER))
|
|
|
|
-
|
|
|
|
- @cp -R ./config $(RELDIR)
|
|
|
|
- @cp wizard.sh $(RELDIR)
|
|
|
|
- @cp scripts/test_env.sh $(RELDIR)
|
|
|
|
|
|
+ @echo "Building Release to dir $(RELDIR)"
|
|
|
|
+ @$(MKDIR) $(RELDIR)/cmd/crowdsec
|
|
|
|
+ @$(MKDIR) $(RELDIR)/cmd/crowdsec-cli
|
|
|
|
+ @$(MKDIR) $(RELDIR)/$(subst ./,,$(HTTP_PLUGIN_FOLDER))
|
|
|
|
+ @$(MKDIR) $(RELDIR)/$(subst ./,,$(SLACK_PLUGIN_FOLDER))
|
|
|
|
+ @$(MKDIR) $(RELDIR)/$(subst ./,,$(SPLUNK_PLUGIN_FOLDER))
|
|
|
|
+ @$(MKDIR) $(RELDIR)/$(subst ./,,$(EMAIL_PLUGIN_FOLDER))
|
|
|
|
+
|
|
|
|
+ @$(CP) $(CROWDSEC_FOLDER)/$(CROWDSEC_BIN) $(RELDIR)/cmd/crowdsec
|
|
|
|
+ @$(CP) $(CSCLI_FOLDER)/$(CSCLI_BIN) $(RELDIR)/cmd/crowdsec-cli
|
|
|
|
+
|
|
|
|
+ @$(CP) $(HTTP_PLUGIN_FOLDER)/$(HTTP_PLUGIN_BIN) $(RELDIR)/$(subst ./,,$(HTTP_PLUGIN_FOLDER))
|
|
|
|
+ @$(CP) $(SLACK_PLUGIN_FOLDER)/$(SLACK_PLUGIN_BIN) $(RELDIR)/$(subst ./,,$(SLACK_PLUGIN_FOLDER))
|
|
|
|
+ @$(CP) $(SPLUNK_PLUGIN_FOLDER)/$(SPLUNK_PLUGIN_BIN) $(RELDIR)/$(subst ./,,$(SPLUNK_PLUGIN_FOLDER))
|
|
|
|
+ @$(CP) $(EMAIL_PLUGIN_FOLDER)/$(EMAIL_PLUGIN_BIN) $(RELDIR)/$(subst ./,,$(EMAIL_PLUGIN_FOLDER))
|
|
|
|
+
|
|
|
|
+ @$(CP) $(HTTP_PLUGIN_FOLDER)/$(HTTP_PLUGIN_CONFIG) $(RELDIR)/$(subst ./,,$(HTTP_PLUGIN_FOLDER))
|
|
|
|
+ @$(CP) $(SLACK_PLUGIN_FOLDER)/$(SLACK_PLUGIN_CONFIG) $(RELDIR)/$(subst ./,,$(SLACK_PLUGIN_FOLDER))
|
|
|
|
+ @$(CP) $(SPLUNK_PLUGIN_FOLDER)/$(SPLUNK_PLUGIN_CONFIG) $(RELDIR)/$(subst ./,,$(SPLUNK_PLUGIN_FOLDER))
|
|
|
|
+ @$(CP) $(EMAIL_PLUGIN_FOLDER)/$(EMAIL_PLUGIN_CONFIG) $(RELDIR)/$(subst ./,,$(EMAIL_PLUGIN_FOLDER))
|
|
|
|
+
|
|
|
|
+ @$(CPR) ./config $(RELDIR)
|
|
|
|
+ @$(CP) wizard.sh $(RELDIR)
|
|
|
|
+ @$(CP) scripts/test_env.sh $(RELDIR)
|
|
|
|
+ @$(CP) scripts/test_env.ps1 $(RELDIR)
|
|
|
|
|
|
.PHONY: package
|
|
.PHONY: package
|
|
package: package-common
|
|
package: package-common
|
|
@@ -200,7 +207,11 @@ package_static: package-common
|
|
|
|
|
|
.PHONY: check_release
|
|
.PHONY: check_release
|
|
check_release:
|
|
check_release:
|
|
|
|
+ifneq ($(OS),Windows_NT)
|
|
@if [ -d $(RELDIR) ]; then echo "$(RELDIR) already exists, abort" ; exit 1 ; fi
|
|
@if [ -d $(RELDIR) ]; then echo "$(RELDIR) already exists, abort" ; exit 1 ; fi
|
|
|
|
+else
|
|
|
|
+ @if (Test-Path -Path $(RELDIR)) { echo "$(RELDIR) already exists, abort" ; exit 1 ; }
|
|
|
|
+endif
|
|
|
|
|
|
.PHONY: release
|
|
.PHONY: release
|
|
release: check_release build package
|
|
release: check_release build package
|
|
@@ -208,5 +219,12 @@ release: check_release build package
|
|
.PHONY: release_static
|
|
.PHONY: release_static
|
|
release_static: check_release static package_static
|
|
release_static: check_release static package_static
|
|
|
|
|
|
-include tests/bats.mk
|
|
|
|
|
|
+.PHONY: windows_installer
|
|
|
|
+windows_installer: build
|
|
|
|
+ @.\make_installer.ps1 -version $(BUILD_VERSION)
|
|
|
|
+
|
|
|
|
+.PHONY: chocolatey
|
|
|
|
+chocolatey: windows_installer
|
|
|
|
+ @.\make_chocolatey.ps1 -version $(BUILD_VERSION)
|
|
|
|
|
|
|
|
+include tests/bats.mk
|