# 
# 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	= sectools

CSRCS = \
	crmfcgi.c \
	$(NULL)

REQUIRES = nss dbm seccmd

ifdef ATTACH_CGI
DEFINES += -DATTACH_CGI
endif

ifdef WRITE_OUT_RESPONSE
DEFINES += -DWRITE_OUT_RESPONSE
endif

PROGRAM  = crmfcgi

USE_STATIC_LIBS = 1

INCLUDES = 

DEFINES = -DNSPR20
