docker: generate chrome-vers.mk under agent-chrome build step

* Fixes an issue where chrome-vers.mk is not created when building
  but was created when publishing which broke things.

* Fixes an issue with generating chrome-vers.mk under a Mac.
  We use printf instead of echo, see [0].

* Make sure "latest" is inserted into chrome-vers.mk.
  The agent-bazel image uses chrome-vers.mk.
  Some images depended on agent-bazel and used "latest" but
  because "latest" wasn't in the file it failed to use the image.
  This issue is now fixed so that agent-bazel successfully
  creates a "latest" image locally.

[0] https://stackoverflow.com/questions/11675070/makefile-echo-n-not-working

Change-Id: I520a08d52c1dfda3e623be436682fcb03ab26212
diff --git a/jenkins-docker/agent-chrome/Makefile b/jenkins-docker/agent-chrome/Makefile
index c1493cd..13dc4c5 100644
--- a/jenkins-docker/agent-chrome/Makefile
+++ b/jenkins-docker/agent-chrome/Makefile
@@ -5,17 +5,22 @@
 CHROME_VERS = latest 69.0.3497.92
 
 build: Makefile Dockerfile
-	@for chrome_ver in $(CHROME_VERS); \
+	# Due to issues with echo on Mac (see https://stackoverflow.com/questions/11675070/makefile-echo-n-not-working)
+	# we use printf as a alternative.
+	printf "CHROME_VERS ?= latest" > ../chrome-vers.mk; \
+	for chrome_ver in $(CHROME_VERS); \
 	do \
 		echo "Building Docker for $(DEBIAN_VER) / Chrome v$$chrome_ver"; \
 		echo "========================================================"; \
 		cat Dockerfile | DEBIAN_VER=$(DEBIAN_VER) CHROME_VER=$$chrome_ver envsubst > Dockerfile-$(DEBIAN_VER)-$$chrome_ver; \
 		docker build --no-cache=$(NO_CACHE) -f Dockerfile-$(DEBIAN_VER)-$$chrome_ver -t "$(IMAGE)-$$chrome_ver" .;  \
-	done
+		chrome_curr_ver=$$(docker run --entrypoint=/usr/bin/google-chrome -ti $(IMAGE)-$$chrome_ver --version | awk '{print $$3}'); \
+		printf " $$chrome_curr_ver" >> ../chrome-vers.mk; \
+	done; \
+	printf "" >> ../chrome-vers.mk
 
 publish:
-	echo -n "CHROME_VERS ?=" > ../chrome-vers.mk; \
-	for chrome_ver in $(CHROME_VERS); \
+	@for chrome_ver in $(CHROME_VERS); \
 	do \
 		echo "Pushing $(IMAGE)-$$chrome_ver"; \
 		docker push $(IMAGE)-$$chrome_ver; \
@@ -23,9 +28,7 @@
 		docker tag $(IMAGE)-$$chrome_ver $(IMAGE)-$$chrome_curr_ver; \
 		echo "Pushing $(IMAGE)-$$chrome_curr_ver"; \
 		docker push $(IMAGE)-$$chrome_curr_ver; \
-		echo -n " $$chrome_curr_ver" >> ../chrome-vers.mk; \
-	done; \
-	echo "" >> ../chrome-vers.mk
+	done
 
 clean:
 	for chrome_ver in $(CHROME_VERS); \
@@ -34,4 +37,3 @@
 	done
 
 .PHONY: build publish clean
-