APP?=lexis ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) CONTAINER_RUNTIME ?= podman CONTAINER_VERSION ?= $(shell date --iso-8601) help: ## Display this help. @awk 'BEGIN { \ FS = ":.*##"; \ printf "\nUsage:\n make \033[36m\033[0m\n\nTargets:\n" \ } \ /^[a-zA-Z_-]+:.*?##/ { \ printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 \ } \ END { \ print \ }' \ $(MAKEFILE_LIST) .PHONY: run run: ## Run lexis GOPATH=${ROOT_DIR}/vendor go run ${APP}.go $(filter-out $@, $(MAKECMDGOALS)) .PHONY: build build: ## Build lexis binary GOPATH=${ROOT_DIR}/vendor go build ${APP}.go .PHONY: serve serve: build ## Build and run lexis -serve ${APP} --serve container: container-build ## Build container image container-build: $(CONTAINER_RUNTIME) build -t lexis/lexis:$(CONTAINER_VERSION) -f Containerfile . container-run: ## Run lexis container $(CONTAINER_RUNTIME) run lexis/lexis:$(CONTAINER_VERSION) container-save: ## Save lexis container to a file $(CONTAINER_RUNTIME) save lexis/lexis:$(CONTAINER_VERSION) -o lexis_$(CONTAINER_VERSION).tar %: @true