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

MODULE = nss

ifdef ZLIB_INCLUDE_DIR
INCLUDES += -I$(ZLIB_INCLUDE_DIR)
endif

CSRCS = signtool.c		\
		certgen.c	\
		javascript.c	\
		list.c		\
		sign.c		\
		util.c		\
		verify.c	\
		zip.c		\
	$(NULL)

PROGRAM =  signtool

REQUIRES = seccmd

EXTRA_LIBS = $(JAR_LIBS)
