 	grunt.registerTask 'install:config', "Copy the example config into the real config", () ->
 		Helpers.installConfig @async()
 	grunt.registerTask 'install:all', "Download and set up all ShareLaTeX services",
-		("install:#{service.name}" for service in SERVICES).concat(["install:config"])
+		["check:make"].concat(
+			("install:#{service.name}" for service in SERVICES)
+		).concat(["install:config"])
 	grunt.registerTask 'install', 'install:all'
 	grunt.registerTask 'update:all', "Checkout and update all ShareLaTeX services",
-		("update:#{service.name}" for service in SERVICES)
+		["check:make"].concat(
+			("update:#{service.name}" for service in SERVICES)
+		)
 	grunt.registerTask 'update', 'update:all'
 	grunt.registerTask 'run', "Run all of the sharelatex processes", ['concurrent:all']
 	grunt.registerTask 'run:all', 'run'

					grunt.log.write "OK."
				callback()



						"Misc": [
							"help"
						]
						"Install tasks": ("install:#{service.name}" for service in SERVICES).concat(["install:all", "install", "install:config"])
						"Update tasks": ("update:#{service.name}" for service in SERVICES).concat(["update:all", "update"])
						"Config tasks": ["install:config"]
						"Checks": ["check", "check:redis", "check:latexmk", "check:s3", "check:make"]

	for service in SERVICES
		do (service) ->
