# Copyright 2009 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=godoc
GOFILES=\
	codewalk.go\
	dirtrees.go\
	format.go\
	godoc.go\
	index.go\
	main.go\
	mapping.go\
	snippet.go\
	spec.go\
	utils.go\

include ../../Make.cmd
