|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 # only do this in the outermost freebl build. |
|
6 ifndef FREEBL_CHILD_BUILD |
|
7 |
|
8 # We're going to change this build so that it builds libfreebl.a with |
|
9 # just loader.c. Then we have to build this directory twice again to |
|
10 # build the two DSOs. |
|
11 # To build libfreebl.a with just loader.c, we must now override many |
|
12 # of the make variables setup by the prior inclusion of CORECONF's config.mk |
|
13 |
|
14 CSRCS = loader.c |
|
15 SIMPLE_OBJS = $(CSRCS:.c=$(OBJ_SUFFIX)) |
|
16 OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS)) |
|
17 ALL_TRASH := $(TARGETS) $(OBJS) $(OBJDIR) LOGS TAGS $(GARBAGE) \ |
|
18 $(NOSUCHFILE) so_locations |
|
19 |
|
20 # this is not a recursive child make. We make a static lib. (archive) |
|
21 |
|
22 # Override the values defined in coreconf's ruleset.mk. |
|
23 # |
|
24 # - (1) LIBRARY: a static (archival) library |
|
25 # - (2) SHARED_LIBRARY: a shared (dynamic link) library |
|
26 # - (3) IMPORT_LIBRARY: an import library, used only on Windows |
|
27 # - (4) PROGRAM: an executable binary |
|
28 # |
|
29 # override these variables to prevent building a DSO/DLL. |
|
30 TARGETS = $(LIBRARY) |
|
31 SHARED_LIBRARY = |
|
32 IMPORT_LIBRARY = |
|
33 PROGRAM = |
|
34 |
|
35 else |
|
36 |
|
37 # This is a recursive child make. We build the shared lib. |
|
38 |
|
39 TARGETS = $(SHARED_LIBRARY) |
|
40 LIBRARY = |
|
41 IMPORT_LIBRARY = |
|
42 PROGRAM = |
|
43 |
|
44 ifeq ($(OS_TARGET), SunOS) |
|
45 OS_LIBS += -lkstat |
|
46 endif |
|
47 |
|
48 ifeq (,$(filter-out WIN%,$(OS_TARGET))) |
|
49 |
|
50 # don't want the 32 in the shared library name |
|
51 SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) |
|
52 |
|
53 RES = $(OBJDIR)/$(LIBRARY_NAME).res |
|
54 RESNAME = freebl.rc |
|
55 |
|
56 ifdef NS_USE_GCC |
|
57 OS_LIBS += -ladvapi32 |
|
58 else |
|
59 OS_LIBS += advapi32.lib |
|
60 endif |
|
61 |
|
62 ifdef NS_USE_GCC |
|
63 EXTRA_SHARED_LIBS += \ |
|
64 -L$(DIST)/lib \ |
|
65 -L$(NSSUTIL_LIB_DIR) \ |
|
66 -lnssutil3 \ |
|
67 -L$(NSPR_LIB_DIR) \ |
|
68 -lnspr4 \ |
|
69 $(NULL) |
|
70 else # ! NS_USE_GCC |
|
71 EXTRA_SHARED_LIBS += \ |
|
72 $(DIST)/lib/nssutil3.lib \ |
|
73 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4.lib \ |
|
74 $(NULL) |
|
75 endif # NS_USE_GCC |
|
76 |
|
77 else |
|
78 |
|
79 ifeq ($(FREEBL_NO_DEPEND),1) |
|
80 #drop pthreads as well |
|
81 OS_PTHREAD= |
|
82 else |
|
83 EXTRA_SHARED_LIBS += \ |
|
84 -L$(DIST)/lib \ |
|
85 -L$(NSSUTIL_LIB_DIR) \ |
|
86 -lnssutil3 \ |
|
87 -L$(NSPR_LIB_DIR) \ |
|
88 -lnspr4 \ |
|
89 $(NULL) |
|
90 endif |
|
91 endif |
|
92 |
|
93 ifeq ($(OS_ARCH), Darwin) |
|
94 EXTRA_SHARED_LIBS += -dylib_file @executable_path/libplc4.dylib:$(DIST)/lib/libplc4.dylib -dylib_file @executable_path/libplds4.dylib:$(DIST)/lib/libplds4.dylib |
|
95 endif |
|
96 |
|
97 endif |