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