crowdsec/cmd/crowdsec-cli/Makefile

43 lines
1.1 KiB
Makefile
Raw Normal View History

ifeq ($(OS), Windows_NT)
SHELL := pwsh.exe
.SHELLFLAGS := -NoProfile -Command
EXT = .exe
2022-05-17 10:14:59 +00:00
endif
2020-05-15 09:39:16 +00:00
# Go parameters
GOCMD = go
GOBUILD = $(GOCMD) build
GOCLEAN = $(GOCMD) clean
GOTEST = $(GOCMD) test
GOGET = $(GOCMD) get
BINARY_NAME = cscli$(EXT)
2022-04-01 09:17:45 +00:00
# names longer than 15 chars break 'pgrep'
BINARY_NAME_COVER = $(BINARY_NAME).cover
PREFIX ?= "/"
2020-05-15 09:39:16 +00:00
BIN_PREFIX = $(PREFIX)"/usr/local/bin/"
.PHONY: all
2020-05-15 09:39:16 +00:00
all: clean build
build: clean
$(GOBUILD) $(LD_OPTS) $(BUILD_VENDOR_FLAGS) -o $(BINARY_NAME)
2020-05-15 09:39:16 +00:00
2022-04-01 09:17:45 +00:00
build-bincover: clean
$(GOTEST) . -tags testrunmain -coverpkg=$(go list github.com/crowdsecurity/crowdsec/... | grep -v -e 'pkg/database' -e 'plugins/notifications' -e 'pkg/protobufs' -e 'pkg/cwversions' -e 'pkg/cstest' -e 'pkg/models') -covermode=atomic $(LD_OPTS) -c -o $(BINARY_NAME_COVER)
2022-04-01 09:17:45 +00:00
.PHONY: install
2020-05-15 09:39:16 +00:00
install: install-conf install-bin
install-conf:
install-bin:
@install -v -m 755 -D "$(BINARY_NAME)" "$(BIN_PREFIX)/$(BINARY_NAME)" || exit
uninstall:
2022-05-17 10:14:59 +00:00
@$(RM) $(CSCLI_CONFIG) $(WIN_IGNORE_ERR)
@$(RM) $(BIN_PREFIX)$(BINARY_NAME) $(WIN_IGNORE_ERR)
2020-05-15 09:39:16 +00:00
clean:
2022-05-17 10:14:59 +00:00
@$(RM) $(BINARY_NAME) $(BINARY_NAME_COVER) $(WIN_IGNORE_ERR)