2024-09-02 09:09:46 +02:00
|
|
|
|
|
|
|
BIN_NAME := oc-deploy
|
|
|
|
|
|
|
|
BIN_OPTS :=
|
|
|
|
|
|
|
|
##################
|
|
|
|
|
|
|
|
SOURCES := $(wildcard *.go) $(wildcard */*.go)
|
|
|
|
BIN_DIR = ../bin/
|
|
|
|
|
|
|
|
PLUGINS := $(wildcard ../plugins/*/*.go)
|
|
|
|
OBJS := ${PLUGINS:.go=.so}
|
|
|
|
|
2024-09-18 11:09:21 +02:00
|
|
|
##################
|
|
|
|
DATE := $(shell date)
|
|
|
|
GOVERSION := $(shell go version)
|
|
|
|
VERSION := $(shell git describe --tags --abbrev=8 --dirty --always --long)
|
|
|
|
PREFIX := "oc-deploy/version"
|
|
|
|
|
|
|
|
LDFLAGS := -X '${PREFIX}.Version=${VERSION}'
|
|
|
|
|
|
|
|
##################
|
|
|
|
|
2024-09-02 09:09:46 +02:00
|
|
|
%.so: %.go
|
|
|
|
go build -buildmode=plugin -o $@ $<
|
|
|
|
|
|
|
|
help:
|
|
|
|
@echo
|
|
|
|
@echo 'Usage:'
|
|
|
|
@echo ' make build Génère les exécutables.'
|
2024-09-04 09:11:13 +02:00
|
|
|
@echo ' make get-deps Dependency download'
|
2024-09-02 09:09:46 +02:00
|
|
|
|
|
|
|
@echo ' make run BIN_OPTS=... Go run'
|
|
|
|
@echo ' make run_install BIN_OPTS=... Go run'
|
|
|
|
@echo ' make run_uninstall BIN_OPTS=... Go run'
|
2024-09-18 11:09:21 +02:00
|
|
|
@echo ' make run_version Go run'
|
2024-09-02 09:09:46 +02:00
|
|
|
@echo ' make exec BIN_OPTS=... exécutable'
|
|
|
|
@echo ' make exec_install BIN_OPTS=... exécutable'
|
|
|
|
@echo ' make exec_uninstall BIN_OPTS=... exécutable'
|
2024-09-18 11:09:21 +02:00
|
|
|
@echo ' make exec_version exécutable'
|
2024-09-02 09:09:46 +02:00
|
|
|
|
|
|
|
@echo ' make test Test'
|
|
|
|
@echo ' make clean Clean the directory tree.'
|
|
|
|
@echo
|
|
|
|
|
2024-09-18 11:09:21 +02:00
|
|
|
@echo ' DATE ${DATE}'
|
|
|
|
@echo ' GOVERSION ${GOVERSION}'
|
|
|
|
@echo ' VERSION ${VERSION}'
|
|
|
|
@echo
|
|
|
|
|
2024-09-02 09:09:46 +02:00
|
|
|
${BIN_DIR}/${BIN_NAME}: ${SOURCES} $(OBJS)
|
2024-09-18 11:09:21 +02:00
|
|
|
go build -o ${BIN_DIR}/${BIN_NAME} -ldflags "${LDFLAGS}"
|
2024-09-02 09:09:46 +02:00
|
|
|
|
2024-09-02 13:43:11 +02:00
|
|
|
get-deps:
|
|
|
|
@go mod tidy
|
|
|
|
|
2024-09-02 09:09:46 +02:00
|
|
|
build: ${BIN_DIR}/${BIN_NAME}
|
|
|
|
|
2024-09-18 11:09:21 +02:00
|
|
|
run:
|
2024-09-02 09:09:46 +02:00
|
|
|
@go run main.go ${BIN_OPTS}
|
|
|
|
|
2024-09-18 11:09:21 +02:00
|
|
|
run_generate:
|
2024-09-02 09:09:46 +02:00
|
|
|
@go run main.go generate ${BIN_OPTS}
|
|
|
|
|
2024-09-18 11:09:21 +02:00
|
|
|
run_install:
|
2024-09-02 09:09:46 +02:00
|
|
|
@go run main.go install ${BIN_OPTS}
|
|
|
|
|
2024-09-18 11:09:21 +02:00
|
|
|
run_uninstall:
|
2024-09-02 09:09:46 +02:00
|
|
|
@go run main.go uninstall ${BIN_OPTS}
|
|
|
|
|
2024-09-18 11:09:21 +02:00
|
|
|
run_version:
|
|
|
|
@go run main.go version
|
|
|
|
|
2024-09-02 09:09:46 +02:00
|
|
|
exec: ${BIN_DIR}/${BIN_NAME} $(OBJS)
|
|
|
|
@${BIN_DIR}/${BIN_NAME} ${BIN_OPTS}
|
|
|
|
|
|
|
|
exec_install: ${BIN_DIR}/${BIN_NAME} $(OBJS)
|
|
|
|
@${BIN_DIR}/${BIN_NAME} install ${BIN_OPTS}
|
|
|
|
|
|
|
|
exec_uninstall: ${BIN_DIR}/${BIN_NAME} $(OBJS)
|
|
|
|
@${BIN_DIR}/${BIN_NAME} uninstall ${BIN_OPTS}
|
|
|
|
|
2024-09-18 11:09:21 +02:00
|
|
|
exec_version: ${BIN_DIR}/${BIN_NAME} $(OBJS)
|
|
|
|
@${BIN_DIR}/${BIN_NAME} version
|
|
|
|
|
2024-09-02 09:09:46 +02:00
|
|
|
clean:
|
|
|
|
@test ! -e ${BIN_DIR}/${BIN_NAME} || rm ${BIN_DIR}/${BIN_NAME}
|
|
|
|
@test ! -e .coverage.out || rm .coverage.out
|
|
|
|
@test ! -e .coverage.html || rm .coverage.html
|
|
|
|
@test ! -e go.sum || rm go.sum
|
|
|
|
@test ! -e .oc-deploy.log || rm .oc-deploy.log
|
|
|
|
@rm -rf workspace_*
|
|
|
|
|
|
|
|
.PHONY: test
|
2024-09-09 12:11:10 +02:00
|
|
|
test_%:
|
|
|
|
go test oc-deploy/$(subst test_,,$@) -coverprofile=.coverage.out -v
|
|
|
|
@go tool cover -html=.coverage.out -o .coverage.html
|
|
|
|
|
2024-09-02 09:09:46 +02:00
|
|
|
test:
|
|
|
|
@go test ./... -coverprofile=.coverage.out -v
|
|
|
|
go tool cover -html=.coverage.out -o .coverage.html
|