1#
2# This Source Code Form is subject to the terms of the Mozilla Public
3# License, v. 2.0. If a copy of the MPL was not distributed with this
4# file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
6# can't do this in manifest.mn because OS_TARGET isn't defined there.
7ifeq (,$(filter-out WIN%,$(OS_TARGET)))
8
9# don't want the 32 in the shared library name
10SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
11IMPORT_LIBRARY = $(OBJDIR)/$(IMPORT_LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)$(IMPORT_LIB_SUFFIX)
12
13RES = $(OBJDIR)/$(LIBRARY_NAME).res
14RESNAME = $(LIBRARY_NAME).rc
15
16ifdef NS_USE_GCC
17EXTRA_SHARED_LIBS += \
18	-L$(DIST)/lib \
19	-L$(NSSUTIL_LIB_DIR) \
20	-lnssutil3 \
21	-L$(NSPR_LIB_DIR) \
22	-lplc4 \
23	-lplds4 \
24	-lnspr4\
25	$(NULL)
26else # ! NS_USE_GCC
27EXTRA_SHARED_LIBS += \
28	$(DIST)/lib/nssutil3.lib \
29	$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plc4.lib \
30	$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plds4.lib \
31	$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4.lib \
32	$(NULL)
33endif # NS_USE_GCC
34
35else
36
37# $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
38# $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
39EXTRA_SHARED_LIBS += \
40	-L$(DIST)/lib \
41	-L$(NSSUTIL_LIB_DIR) \
42	-lnssutil3 \
43	-L$(NSPR_LIB_DIR) \
44	-lplc4 \
45	-lplds4 \
46	-lnspr4 \
47	$(NULL)
48
49endif
50
51
52# $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
53SHARED_LIBRARY_LIBS = \
54	$(DIST)/lib/$(LIB_PREFIX)certhi.$(LIB_SUFFIX) \
55	$(DIST)/lib/$(LIB_PREFIX)cryptohi.$(LIB_SUFFIX) \
56	$(DIST)/lib/$(LIB_PREFIX)pk11wrap.$(LIB_SUFFIX) \
57	$(DIST)/lib/$(LIB_PREFIX)certdb.$(LIB_SUFFIX) \
58	$(DIST)/lib/$(LIB_PREFIX)nsspki.$(LIB_SUFFIX) \
59	$(DIST)/lib/$(LIB_PREFIX)nssdev.$(LIB_SUFFIX) \
60	$(DIST)/lib/$(LIB_PREFIX)nssb.$(LIB_SUFFIX) \
61	$(DIST)/lib/$(LIB_PREFIX)certsel.$(LIB_SUFFIX) \
62	$(DIST)/lib/$(LIB_PREFIX)checker.$(LIB_SUFFIX) \
63	$(DIST)/lib/$(LIB_PREFIX)params.$(LIB_SUFFIX) \
64	$(DIST)/lib/$(LIB_PREFIX)results.$(LIB_SUFFIX) \
65	$(DIST)/lib/$(LIB_PREFIX)top.$(LIB_SUFFIX) \
66	$(DIST)/lib/$(LIB_PREFIX)util.$(LIB_SUFFIX) \
67	$(DIST)/lib/$(LIB_PREFIX)crlsel.$(LIB_SUFFIX) \
68	$(DIST)/lib/$(LIB_PREFIX)store.$(LIB_SUFFIX) \
69	$(DIST)/lib/$(LIB_PREFIX)pki.$(LIB_SUFFIX) \
70	$(DIST)/lib/$(LIB_PREFIX)system.$(LIB_SUFFIX) \
71	$(DIST)/lib/$(LIB_PREFIX)module.$(LIB_SUFFIX) \
72	$(NULL)
73
74SHARED_LIBRARY_DIRS = \
75	../certhigh \
76	../cryptohi \
77	../pk11wrap \
78	../certdb \
79	../pki \
80	../dev \
81	../base \
82	$(NULL)
83
84ifndef NSS_DISABLE_LIBPKIX
85SHARED_LIBRARY_DIRS += \
86	../libpkix/pkix/certsel \
87	../libpkix/pkix/checker \
88	../libpkix/pkix/params \
89	../libpkix/pkix/results \
90	../libpkix/pkix/top \
91	../libpkix/pkix/util \
92	../libpkix/pkix/crlsel \
93	../libpkix/pkix/store \
94	../libpkix/pkix_pl_nss/pki \
95	../libpkix/pkix_pl_nss/system \
96	../libpkix/pkix_pl_nss/module \
97	$(NULL)
98endif
99
100ifeq (,$(filter-out WINNT WIN95,$(OS_TARGET)))
101ifndef NS_USE_GCC
102# Export 'mktemp' to be backward compatible with NSS 3.2.x and 3.3.x
103# but do not put it in the import library.  See bug 142575.
104DEFINES += -DWIN32_NSS3_DLL_COMPAT
105DLLFLAGS += -EXPORT:mktemp=nss_mktemp,PRIVATE
106endif
107endif
108
109ifdef POLICY_FILE
110ifndef POLICY_PATH
111$(error You must define POLICY_PATH if you set POLICY_FILE)
112endif
113DEFINES += -DPOLICY_FILE=\"$(POLICY_FILE)\" -DPOLICY_PATH=\"$(POLICY_PATH)\"
114endif
115