Property definitions

nitc $ MakeRule :: defaultinit
# A rule that goes into a Makefile
class MakeRule

	# Rule name
	var name: String

	# Is this rule a `.PHONY` one?
	var is_phony: Bool = false is optional

	# Rule dependencies
	var deps = new Array[String]

	# Rule lines
	var lines = new Array[String]

	# Render `self`
	fun render: Writable do
		var tpl = new Template
		if is_phony then
			tpl.addn ".PHONY: {name}"
		end
		tpl.add "{name}:"
		if deps.not_empty then
			tpl.add " {deps.join(" ")}"
		end
		tpl.add "\n"
		for line in lines do
			tpl.addn "\t{line}"
		end
		return tpl
	end
end
src/nitpackage.nit:639,1--670,3