|  |  |  | 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<target>\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
 | 
					
						
							|  |  |  | 
 |