# Copyright 2010 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

include ../../Make.inc

TARG=html
GOFILES=\
	const.go\
	doc.go\
	doctype.go\
	entity.go\
	escape.go\
	foreign.go\
	node.go\
	parse.go\
	render.go\
	token.go\

include ../../Make.pkg
