# Copyright 2011 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=crypto/openpgp/packet
GOFILES=\
	compressed.go\
	encrypted_key.go\
	literal.go\
	one_pass_signature.go\
	packet.go\
	private_key.go\
	public_key.go\
	reader.go\
	signature.go\
	symmetrically_encrypted.go\
	symmetric_key_encrypted.go\
	userid.go\

include ../../../../Make.pkg
