# 
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
CORE_DEPTH = ../../../..

PRIVATE_EXPORTS = \
	pkix_build.h \
	pkix_lifecycle.h \
	pkix_validate.h \
	$(NULL)

MODULE = nss

CSRCS = \
	pkix_validate.c \
	pkix_lifecycle.c \
	pkix_build.c \
	$(NULL)

LIBRARY_NAME = pkixtop
SHARED_LIBRARY = $(NULL)
