This ensures keeping all dependencies in sync, and simplifies packaging under freebsd/gentoo/etc because there is a single vendor directory.
34 lines
633 B
Makefile
34 lines
633 B
Makefile
ifeq ($(OS), Windows_NT)
|
|
SHELL := pwsh.exe
|
|
.SHELLFLAGS := -NoProfile -Command
|
|
EXT = .exe
|
|
endif
|
|
|
|
GO = go
|
|
GOBUILD = $(GO) build
|
|
|
|
BINARY_NAME = cscli$(EXT)
|
|
PREFIX ?= "/"
|
|
BIN_PREFIX = $(PREFIX)"/usr/local/bin/"
|
|
|
|
.PHONY: all
|
|
all: clean build
|
|
|
|
build: clean
|
|
$(GOBUILD) $(LD_OPTS) $(BUILD_VENDOR_FLAGS) -o $(BINARY_NAME)
|
|
|
|
.PHONY: install
|
|
install: install-conf install-bin
|
|
|
|
install-conf:
|
|
|
|
install-bin:
|
|
@install -v -m 755 -D "$(BINARY_NAME)" "$(BIN_PREFIX)/$(BINARY_NAME)" || exit
|
|
|
|
uninstall:
|
|
@$(RM) $(CSCLI_CONFIG) $(WIN_IGNORE_ERR)
|
|
@$(RM) $(BIN_PREFIX)$(BINARY_NAME) $(WIN_IGNORE_ERR)
|
|
|
|
clean:
|
|
@$(RM) $(BINARY_NAME) $(WIN_IGNORE_ERR)
|