From f63a46268dffcd774f5cf6d3fa0b3ae32ce5dd3d Mon Sep 17 00:00:00 2001 From: Eli Uriegas Date: Wed, 27 Dec 2017 18:26:04 -0600 Subject: [PATCH] Move .PHONY targets above actual targets Was getting annoying to have to write it into one spot so moved them to above the targets that they specify. Signed-off-by: Eli Uriegas Upstream-commit: a8e527df5d6579cc53372c26ef86fdcf449aa9ae Component: packaging --- components/packaging/Makefile | 7 +++++-- components/packaging/deb/Makefile | 17 +++++++++++++++-- components/packaging/rpm/Makefile | 12 +++++++++--- components/packaging/static/Makefile | 14 ++++++++++++-- 4 files changed, 41 insertions(+), 9 deletions(-) diff --git a/components/packaging/Makefile b/components/packaging/Makefile index b771da48d7..6ff35a8c7d 100644 --- a/components/packaging/Makefile +++ b/components/packaging/Makefile @@ -4,28 +4,31 @@ CLI_DIR:=$(CURDIR)/../cli VERSION?=0.0.0-dev DOCKER_GITCOMMIT:=abcdefg -.PHONY: help clean rpm deb static - +.PHONY: help help: ## show make targets @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) +.PHONY: clean clean: ## remove build artifacts $(MAKE) -C rpm clean $(MAKE) -C deb clean $(MAKE) -C static clean +.PHONY: rpm rpm: DOCKER_BUILD_PKGS:=fedora-27 fedora-26 fedora-25 centos-7 rpm: ## build rpm packages for p in $(DOCKER_BUILD_PKGS); do \ $(MAKE) -C $@ VERSION=$(VERSION) ENGINE_DIR=$(ENGINE_DIR) CLI_DIR=$(CLI_DIR) $${p}; \ done +.PHONY: deb deb: DOCKER_BUILD_PKGS:=ubuntu-zesty ubuntu-xenial ubuntu-trusty debian-buster debian-stretch debian-wheezy debian-jessie raspbian-stretch raspbian-jessie deb: ## build deb packages for p in $(DOCKER_BUILD_PKGS); do \ $(MAKE) -C $@ VERSION=$(VERSION) ENGINE_DIR=$(ENGINE_DIR) CLI_DIR=$(CLI_DIR) $${p}; \ done +.PHONY: static static: DOCKER_BUILD_PKGS:=static-linux cross-mac cross-win cross-arm static: ## build static-compiled packages for p in $(DOCKER_BUILD_PKGS); do \ diff --git a/components/packaging/deb/Makefile b/components/packaging/deb/Makefile index 5a2c60712e..36611954f8 100644 --- a/components/packaging/deb/Makefile +++ b/components/packaging/deb/Makefile @@ -7,23 +7,28 @@ VERSION?=0.0.0-dev DOCKER_EXPERIMENTAL:=0 CHOWN:=docker run --rm -v $(CURDIR):/v -w /v alpine chown -.PHONY: help clean deb ubuntu debian ubuntu-xenial ubuntu-trusty ubuntu-zesty debian-buster debian-jessie debian-stretch debian-wheezy raspbian-jessie raspbian-stretch - +.PHONY: help help: ## show make targets @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) +.PHONY: clean clean: ## remove build artifacts [ ! -d debbuild ] || $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild $(RM) -r debbuild +.PHONY: deb deb: ubuntu debian raspbian ## build all deb packages +.PHONY: ubuntu ubuntu: ubuntu-zesty ubuntu-xenial ubuntu-trusty ## build all ubuntu deb packages +.PHONY: debian debian: debian-stretch debian-wheezy debian-jessie ## build all debian deb packages +.PHONY: raspbian raspbian: raspbian-stretch debian-jessie ## build all raspbian deb packages +.PHONY: ubuntu-xenial ubuntu-xenial: ## build ubuntu xenial deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ @@ -36,6 +41,7 @@ ubuntu-xenial: ## build ubuntu xenial deb packages debbuild-$@/$(ARCH) $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild/$@ +.PHONY: ubuntu-trusty ubuntu-trusty: ## build ubuntu trusty deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ @@ -48,6 +54,7 @@ ubuntu-trusty: ## build ubuntu trusty deb packages debbuild-$@/$(ARCH) $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild/$@ +.PHONY: ubuntu-zesty ubuntu-zesty: ## build ubuntu zesty deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ @@ -73,6 +80,7 @@ ubuntu-artful: ## build ubuntu artful deb packages debbuild-$@/$(ARCH) $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild/$@ +.PHONY: debian-buster debian-buster: ## build debian buster deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ @@ -85,6 +93,7 @@ debian-buster: ## build debian buster deb packages debbuild-$@/$(ARCH) $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild/$@ +.PHONY: debian-jessie debian-jessie: ## build debian jessie deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ @@ -97,6 +106,7 @@ debian-jessie: ## build debian jessie deb packages debbuild-$@/$(ARCH) $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild/$@ +.PHONY: debian-stretch debian-stretch: ## build debian stretch deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ @@ -109,6 +119,7 @@ debian-stretch: ## build debian stretch deb packages debbuild-$@/$(ARCH) $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild/$@ +.PHONY: debian-wheezy debian-wheezy: ## build debian wheezy deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ @@ -121,6 +132,7 @@ debian-wheezy: ## build debian wheezy deb packages debbuild-$@/$(ARCH) $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild/$@ +.PHONY: raspbian-jessie raspbian-jessie: ## build raspbian jessie deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ @@ -133,6 +145,7 @@ raspbian-jessie: ## build raspbian jessie deb packages debbuild-$@/$(ARCH) $(CHOWN) -R $(shell id -u):$(shell id -g) debbuild/$@ +.PHONY: raspbian-stretch raspbian-stretch: ## build raspbian stretch deb packages docker build -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . docker run --rm -i \ diff --git a/components/packaging/rpm/Makefile b/components/packaging/rpm/Makefile index b1bc2fedba..01a178da28 100644 --- a/components/packaging/rpm/Makefile +++ b/components/packaging/rpm/Makefile @@ -21,31 +21,37 @@ RPMBUILD_FLAGS=-ba\ --define '_experimental $(DOCKER_EXPERIMENTAL)' \ SPECS/docker-ce.spec -.PHONY: help clean rpm fedora centos fedora-27 fedora-26 centos-7 - +.PHONY: help help: ## show make targets @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) +.PHONY: clean clean: ## remove build artifacts [ ! -d rpmbuild ] || $(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild rm -rf rpmbuild +.PHONY: rpm rpm: fedora centos ## build all rpm packages -fedora: fedora-27 fedora-26 ## build all fedora rpm packages +.PHONY: fedora +fedora: fedora-27 fedora-26 ## build all fedora rpm packages +.PHONY: centos centos: centos-7 ## build all centos rpm packages +.PHONY: fedora-27 fedora-27: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz ## build fedora-27 rpm packages docker build -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) $@ $(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS) $(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild +.PHONY: fedora-26 fedora-26: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz ## build fedora-26 rpm packages docker build -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) $@ $(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS) $(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild +.PHONY: centos-7 centos-7: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz ## build centos-7 rpm packages docker build -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) $@ $(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS) diff --git a/components/packaging/static/Makefile b/components/packaging/static/Makefile index 338f25daea..f3bf2a60ed 100644 --- a/components/packaging/static/Makefile +++ b/components/packaging/static/Makefile @@ -6,17 +6,19 @@ CHOWN=docker run --rm -v $(CURDIR):/v -w /v alpine chown HASH_CMD=docker run -v $(CURDIR):/sum -w /sum debian:jessie bash hash_files DIR_TO_HASH:=build/linux -.PHONY: help clean static static-linux cross-mac cross-win cross-arm static-cli static-engine cross-all-cli cross-win-engine hash_files - +.PHONY: help help: ## show make targets @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) +.PHONY: clean clean: ## remove build artifacts [ ! -d build ] || $(CHOWN) -R $(shell id -u):$(shell id -g) build $(RM) -r build +.PHONY: static static: static-linux cross-mac cross-win cross-arm ## create all static packages +.PHONY: static-linux static-linux: static-cli static-engine ## create tgz with linux x86_64 client and server mkdir -p build/linux/docker cp $(CLI_DIR)/build/docker build/linux/docker/ @@ -25,15 +27,18 @@ static-linux: static-cli static-engine ## create tgz with linux x86_64 client an done tar -C build/linux -c -z -f build/linux/docker-$(VERSION).tgz docker +.PHONY: hash_files hash_files: @echo "Hashing directory $(DIR_TO_HASH)" $(HASH_CMD) "$(DIR_TO_HASH)" +.PHONY: cross-mac cross-mac: cross-all-cli ## create tgz with darwin x86_64 client only mkdir -p build/mac/docker cp $(CLI_DIR)/build/docker-darwin-amd64 build/mac/docker/docker tar -C build/mac -c -z -f build/mac/docker-$(VERSION).tgz docker +.PHONY: cross-win cross-win: cross-all-cli cross-win-engine ## create zip file with windows x86_64 client and server mkdir -p build/win/docker cp $(CLI_DIR)/build/docker-windows-amd64 build/win/docker/docker.exe @@ -41,19 +46,24 @@ cross-win: cross-all-cli cross-win-engine ## create zip file with windows x86_64 docker run --rm -v $(CURDIR)/build/win:/v -w /v alpine sh -c 'apk update&&apk add zip&&zip -r docker-$(VERSION).zip docker' $(CHOWN) -R $(shell id -u):$(shell id -g) build +.PHONY: cross-arm cross-arm: cross-all-cli ## create tgz with linux armhf client only mkdir -p build/arm/docker cp $(CLI_DIR)/build/docker-linux-arm build/arm/docker/docker tar -C build/arm -c -z -f build/arm/docker-$(VERSION).tgz docker +.PHONY: static-cli static-cli: $(MAKE) -C $(CLI_DIR) -f docker.Makefile VERSION=$(VERSION) build +.PHONY: static-engine static-engine: $(MAKE) -C $(ENGINE_DIR) VERSION=$(VERSION) binary +.PHONY: cross-all-cli cross-all-cli: $(MAKE) -C $(CLI_DIR) -f docker.Makefile VERSION=$(VERSION) cross +.PHONY: cross-win-engine cross-win-engine: $(MAKE) -C $(ENGINE_DIR) VERSION=$(VERSION) DOCKER_CROSSPLATFORMS=windows/amd64 cross