# 
# 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 = ../../../..

EXPORTS = \
	$(NULL)

PRIVATE_EXPORTS = \
	pkix_basicconstraintschecker.h \
	pkix_certchainchecker.h \
	pkix_crlchecker.h \
        pkix_ekuchecker.h \
	pkix_expirationchecker.h \
	pkix_namechainingchecker.h \
	pkix_nameconstraintschecker.h \
	pkix_ocspchecker.h \
	pkix_policychecker.h \
	pkix_revocationmethod.h \
	pkix_revocationchecker.h \
	pkix_signaturechecker.h \
	pkix_targetcertchecker.h \
	$(NULL)

MODULE = nss

CSRCS = \
	pkix_basicconstraintschecker.c \
	pkix_certchainchecker.c \
	pkix_crlchecker.c \
	pkix_ekuchecker.c \
	pkix_expirationchecker.c \
	pkix_namechainingchecker.c \
	pkix_nameconstraintschecker.c \
	pkix_ocspchecker.c \
	pkix_revocationmethod.c \
	pkix_revocationchecker.c \
	pkix_policychecker.c \
	pkix_signaturechecker.c \
	pkix_targetcertchecker.c \
	$(NULL)

LIBRARY_NAME = pkixchecker

