github.com/crowdsecurity/crowdsec@v1.6.1/cmd/crowdsec/Makefile (about) 1 ifeq ($(OS), Windows_NT) 2 SHELL := pwsh.exe 3 .SHELLFLAGS := -NoProfile -Command 4 EXT = .exe 5 endif 6 7 GO = go 8 GOBUILD = $(GO) build 9 GOTEST = $(GO) test 10 11 CROWDSEC_BIN = crowdsec$(EXT) 12 # names longer than 15 chars break 'pgrep' 13 PREFIX ?= "/" 14 CFG_PREFIX = $(PREFIX)"/etc/crowdsec/config/" 15 BIN_PREFIX = $(PREFIX)"/usr/local/bin/" 16 DATA_PREFIX = $(PREFIX)"/var/run/crowdsec/" 17 PID_DIR = $(PREFIX)"/var/run/" 18 19 SYSTEMD_PATH_FILE = "/etc/systemd/system/crowdsec.service" 20 21 .PHONY: all 22 all: clean test build 23 24 build: clean 25 $(GOBUILD) $(LD_OPTS) -o $(CROWDSEC_BIN) 26 27 test: 28 $(GOTEST) $(LD_OPTS) -v ./... 29 30 clean: 31 @$(RM) $(CROWDSEC_BIN) $(WIN_IGNORE_ERR) 32 33 .PHONY: install 34 install: install-conf install-bin 35 36 .PHONY: install-conf 37 install-conf: 38 mkdir -p $(DATA_PREFIX) || exit 39 (cd ../.. / && find ./data -type f -exec install -Dm 755 "{}" "$(DATA_PREFIX){}" \; && cd ./cmd/crowdsec) || exit 40 (cd ../../config && find ./patterns -type f -exec install -Dm 755 "{}" "$(CFG_PREFIX){}" \; && cd ../cmd/crowdsec) || exit 41 mkdir -p "$(CFG_PREFIX)" || exit 42 mkdir -p "$(CFG_PREFIX)/parsers" || exit 43 mkdir -p "$(CFG_PREFIX)/scenarios" || exit 44 mkdir -p "$(CFG_PREFIX)/postoverflows" || exit 45 mkdir -p "$(CFG_PREFIX)/collections" || exit 46 mkdir -p "$(CFG_PREFIX)/patterns" || exit 47 install -v -m 755 -D ../../config/prod.yaml "$(CFG_PREFIX)" || exit 48 install -v -m 755 -D ../../config/dev.yaml "$(CFG_PREFIX)" || exit 49 install -v -m 755 -D ../../config/acquis.yaml "$(CFG_PREFIX)" || exit 50 install -v -m 755 -D ../../config/profiles.yaml "$(CFG_PREFIX)" || exit 51 install -v -m 755 -D ../../config/api.yaml "$(CFG_PREFIX)" || exit 52 mkdir -p $(PID_DIR) || exit 53 PID=$(PID_DIR) DATA=$(DATA_PREFIX)"/data/" CFG=$(CFG_PREFIX) envsubst < ../../config/prod.yaml > $(CFG_PREFIX)"/default.yaml" 54 55 .PHONY: install-bin 56 install-bin: 57 install -v -m 755 -D "$(CROWDSEC_BIN)" "$(BIN_PREFIX)/$(CROWDSEC_BIN)" || exit 58 59 .PHONY: systemd 60 systemd: install 61 CFG=$(CFG_PREFIX) PID=$(PID_DIR) BIN=$(BIN_PREFIX)"/"$(CROWDSEC_BIN) envsubst < ../../config/crowdsec.service > "$(SYSTEMD_PATH_FILE)" 62 systemctl daemon-reload 63 64 .PHONY: uninstall 65 uninstall: 66 $(RM) $(CFG_PREFIX) $(WIN_IGNORE_ERR) 67 $(RM) $(DATA_PREFIX) $(WIN_IGNORE_ERR) 68 $(RM) "$(BIN_PREFIX)/$(CROWDSEC_BIN)" $(WIN_IGNORE_ERR) 69 $(RM) "$(SYSTEMD_PATH_FILE)" $(WIN_IGNORE_ERR)