From 22066b47086fa132a10eba424e1ac347de5b76bb Mon Sep 17 00:00:00 2001 From: Max Leonard Inden <IndenML@gmail.com> Date: Tue, 26 Jun 2018 00:04:01 +0800 Subject: [PATCH] kube-prometheus/Makefile: Change target output from files to folder Previously the `manifests` and `vendor` folder content has been build via `manifests/**` and `vendor/**` target definitions. This results in two issues: 1. The GNU Make recipe is executed for every single file in the folders. 2. Not all timestamps inside the `manifests` folder would be updated on every run, thereby needing to be rerun on all following target executions. Solution: 1. Define the target based on the folder, not individual files 2. Remove target folder before execution recipe to ensure all timestamps are updated. --- Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 9cd7f86f..bab98bcb 100644 --- a/Makefile +++ b/Makefile @@ -23,16 +23,18 @@ generate-in-docker: ../../hack/jsonnet-docker-image --workdir /go/src/github.com/coreos/prometheus-operator/contrib/kube-prometheus \ po-jsonnet make generate -generate: manifests/** **.md +generate: manifests **.md **.md: $(EMBEDMD_BINARY) $(shell find examples) build.sh example.jsonnet echo '>>> inside **.md' $(EMBEDMD_BINARY) -w `find . -name "*.md" | grep -v vendor` -manifests/**: vendor/** example.jsonnet +manifests: vendor example.jsonnet + rm -rf manifests ./build.sh -vendor/**: $(JB_BINARY) jsonnetfile.json +vendor: $(JB_BINARY) jsonnetfile.json + rm -rf vendor $(JB_BINARY) install fmt: -- GitLab