{
	"name": "make",
	"version": "0.1.0",
	"publisher": "vscode",
	"engines": { "vscode": "*" },
	"scripts": {
		"update-grammar": "node ../../build/npm/update-grammar.js fadeevab/make.tmbundle Syntaxes/Makefile.plist ./syntaxes/Makefile.json"
	},
	"contributes": {

		"languages": [{
			"id": "makefile",
			"aliases": ["Makefile", "makefile"],
			"extensions": [ ".mk" ],
			"filenames": [ "Makefile", "makefile", "GNUmakefile", "OCamlMakefile" ],
			"configuration": "./language-configuration.json"
		}],
		"grammars": [{
			"language": "makefile",
			"scopeName": "source.makefile",
			"path": "./syntaxes/Makefile.json"
		}],
		"configurationDefaults": {
			"[makefile]": {
				"editor.insertSpaces": false
			}
		}
	}
}
{
	"name": "make",
	"version": "0.1.0",
	"publisher": "vscode",
	"engines": { "vscode": "*" },
	"scripts": {
		"update-grammar": "node ../../build/npm/update-grammar.js fadeevab/make.tmbundle Syntaxes/Makefile.plist ./syntaxes/Makefile.json"
	},
	"contributes": {

		"languages": [{
			"id": "makefile",
			"aliases": ["Makefile", "makefile"],
			"extensions": [ ".mk" ],
			"filenames": [ "Makefile", "makefile", "GNUmakefile", "OCamlMakefile" ],
      "firstLine": "^#!/usr/bin/make",
			"configuration": "./language-configuration.json"
		}],
		"grammars": [{
			"language": "makefile",
			"scopeName": "source.makefile",
			"path": "./syntaxes/Makefile.json"
		}],
		"configurationDefaults": {
			"[makefile]": {
				"editor.insertSpaces": false
			}
		}
	}
}

Add firstline match for Makefile
Add firstline match for Makefile

Some makefiles don't have a file extension and are not named "*Makefile*" but have a shebang that can be used to identify it as a makefile. Example: `debian/rules` in all Debian packages.