aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2020-03-01 01:42:55 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2020-03-01 01:42:55 +0300
commit82a2e572107a7a2eaf43afd17f51e28ef3a14a5c (patch)
tree5cd59ef22630c6c5ece1d8f652f40b9c72980478
parentMakefile: style guide (diff)
downloadfr24feed-82a2e572107a7a2eaf43afd17f51e28ef3a14a5c.tar.gz
fr24feed-82a2e572107a7a2eaf43afd17f51e28ef3a14a5c.zip
Makefile: code style
-rw-r--r--Makefile29
1 files changed, 22 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index e88d810..905cb7b 100644
--- a/Makefile
+++ b/Makefile
@@ -21,39 +21,50 @@ compose_version := 1.25.3
# Docker Hub credentials:
DOCKER_USERNAME := egortensin
+.PHONY: all
all: build
+.PHONY: DO
DO:
+.PHONY: login
login:
ifndef DOCKER_PASSWORD
$(error Please define DOCKER_PASSWORD)
endif
@echo "$(DOCKER_PASSWORD)" | docker login --username "$(DOCKER_USERNAME)" --password-stdin
+.PHONY: build
# Build natively by default.
build: compose/build
+.PHONY: clean
clean:
docker system prune --all --force --volumes
+.PHONY: push
# Push multi-arch images by default.
push: buildx/push
+.PHONY: pull
pull:
docker-compose pull
+.PHONY: up
up:
docker-compose up -d
+.PHONY: down
down:
docker-compose down --volumes
+.PHONY: check-build
check-build:
ifndef FORCE
$(warning Going to build natively; consider `docker buildx build` instead)
endif
+.PHONY: check-push
check-push:
ifndef FORCE
$(error Please use `docker buildx build --push` instead)
@@ -65,6 +76,7 @@ endif
docker/build/%: DO check-build
docker build -t "$(DOCKER_USERNAME)/$*" "$*/"
+.PHONY: docker/build
docker/build: docker/build/dump1090 docker/build/fr24feed
# `docker push` would replace the multiarch repo with a single image by default
@@ -73,45 +85,48 @@ docker/build: docker/build/dump1090 docker/build/fr24feed
docker/push/%: DO check-push docker/build/%
docker push "$(DOCKER_USERNAME)/$*"
+.PHONY: docker/push
docker/push: check-push docker/push/dump1090 docker/push/fr24feed
+.PHONY: compose/install
# Quickly install a newer Compose version:
compose/install:
curl -L "https://github.com/docker/compose/releases/download/$(compose_version)/docker-compose-$$(uname -s)-$$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
+.PHONY: compose/build
# `docker-compose build` has the same problems as `docker build`.
compose/build: check-build
docker-compose build
+.PHONY: compose/push
# `docker-compose push` has the same problems as `docker push`.
compose/push: check-push compose/build
docker-compose push
# The simple way to build multiarch repos is `docker buildx`.
-# Re-register binfmt_misc formats with the F flag (required i.e. on Bionic):
+.PHONY: fix-binfmt
+# Re-register binfmt_misc formats with the F flag (required e.g. on Bionic):
fix-binfmt:
docker run --rm --privileged docker/binfmt:66f9012c56a8316f9244ffd7622d7c21c1f6f28d
+.PHONY: buildx/create
buildx/create: fix-binfmt
docker buildx create --use --name "$(PROJECT)_builder"
+.PHONY: buildx/rm
buildx/rm:
docker buildx rm "$(PROJECT)_builder"
buildx/build/%: DO
docker buildx build -t "$(DOCKER_USERNAME)/$*" --platform "$(platforms)" "$*/"
+.PHONY: buildx/build
buildx/build: buildx/build/dump1090 buildx/build/fr24feed
buildx/push/%: DO
docker buildx build -t "$(DOCKER_USERNAME)/$*" --platform "$(platforms)" --push "$*/"
+.PHONY: buildx/push
buildx/push: buildx/push/dump1090 buildx/push/fr24feed
-
-.PHONY: all login build clean push pull up down
-.PHONY: check-build check-push
-.PHONY: docker/build docker/push
-.PHONY: compose/install compose/build compose/push
-.PHONY: fix-binfmt buildx/create buildx/rm buildx/build buildx/push