base.mk 1.26 KB
Newer Older
J. Fernando Sánchez's avatar
J. Fernando Sánchez committed
1
export
2
NAME ?= $(shell basename $(CURDIR))
3
4
VERSION ?= $(shell git describe --tags --dirty 2>/dev/null)

5
6
# Get the location of this makefile.
MK_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
J. Fernando Sánchez's avatar
J. Fernando Sánchez committed
7
8
9
10

include .env
include ../.env

11
12
13
14
15
16
17
18
19
20
.FORCE:

version: .FORCE
	@echo $(VERSION) > $(NAME)/VERSION
	@echo $(VERSION)

help:           ## Show this help.
	@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/\(.*:\)[^#]*##\s*\(.*\)/\1\t\2/' | column -t -s "	"

config:  ## Load config from the environment. You should run it once in every session before other tasks. Run: eval $(make config)
J. Fernando Sánchez's avatar
J. Fernando Sánchez committed
21
	@awk '{ print "export " $$0}' ../.env
22
23
24
25
26
27
28
29
30
	@awk '{ print "export " $$0}' .env
	@echo "# Please, run: "
	@echo "# eval \$$(make config)"
# If you need to run a command on the key/value pairs, use this:
# @awk '{ split($$0, a, "="); "echo " a[2] " | base64 -w 0" |& getline b64; print "export " a[1] "=" a[2]; print "export " a[1] "_BASE64=" b64}' .env

ci:  ## Run a task using gitlab-runner. Only use to debug problems in the CI pipeline
	gitlab-runner exec shell --builds-dir '.builds' --env CI_PROJECT_NAME=$(NAME) ${action}

31
include $(MK_DIR)/makefiles.mk
32
include $(MK_DIR)/docker.mk
33
include $(MK_DIR)/git.mk
34

J. Fernando Sánchez's avatar
J. Fernando Sánchez committed
35
36
37
info:: ## List all variables
	env

38
.PHONY:: config help ci version .FORCE