2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
15 # The Original Code is the Netscape security libraries.
17 # The Initial Developer of the Original Code is
18 # Netscape Communications Corporation.
19 # Portions created by the Initial Developer are Copyright (C) 1994-2000
20 # the Initial Developer. All Rights Reserved.
24 # Alternatively, the contents of this file may be used under the terms of
25 # either the GNU General Public License Version 2 or later (the "GPL"), or
26 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 # in which case the provisions of the GPL or the LGPL are applicable instead
28 # of those above. If you wish to allow use of your version of this file only
29 # under the terms of either the GPL or the LGPL, and not to allow others to
30 # use your version of this file under the terms of the MPL, indicate your
31 # decision by deleting the provisions above and replace them with the notice
32 # and other provisions required by the GPL or the LGPL. If you do not delete
33 # the provisions above, a recipient may use your version of this file under
34 # the terms of any one of the MPL, the GPL or the LGPL.
36 # ***** END LICENSE BLOCK *****
38 include $(CORE_DEPTH
)/coreconf
/UNIX.mk
41 # Temporary define for the Client; to be removed when binary release is used
49 # Sun's WorkShop defines v8, v8plus and v9 architectures.
50 # gcc on Solaris defines v8 and v9 "cpus".
51 # gcc's v9 is equivalent to Workshop's v8plus.
52 # gcc's -m64 is equivalent to Workshop's v9
58 ifeq ($(OS_TEST
),i86pc
)
65 ifneq ($(OS_TEST
),i86pc
)
78 OS_CFLAGS
+= -Wall
-Wno-format
-Werror-implicit-function-declaration
-Wno-switch
80 CCC
+= -Wall
-Wno-format
81 ASFLAGS
+= -x assembler-with-cpp
82 OS_CFLAGS
+= $(NOMD_OS_CFLAGS
) $(ARCHFLAG
)
84 OS_CFLAGS
+= -MDupdate
$(DEPENDENCIES
)
88 # Enable this for accurate dtrace profiling
89 # OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
95 OS_CFLAGS
+= $(NOMD_OS_CFLAGS
) $(ARCHFLAG
)
103 CCC
+= -xprofile
=tcov
107 INCLUDES
+= -I
/usr
/dt
/include -I
/usr
/openwin
/include
111 OS_DEFINES
+= -DSVR4
-DSYSV
-D__svr4
-D__svr4__
-DSOLARIS
-D_REENTRANT
113 # Purify doesn't like -MDupdate
114 NOMD_OS_CFLAGS
+= $(DSO_CFLAGS
) $(OS_DEFINES
) $(SOL_CFLAGS
)
116 MKSHLIB
= $(CC
) $(DSO_LDOPTS
)
118 ifeq (GNU
,$(findstring GNU
,$(shell `$(CC) -print-prog-name=ld` -v
2>&1)))
125 MKSHLIB
+= -Wl
,--version-script
,$(MAPFILE
)
127 MKSHLIB
+= -Wl
,-M
,$(MAPFILE
)
130 MKSHLIB
+= -M
$(MAPFILE
)
133 PROCESS_MAP_FILE
= grep
-v
';-' $< | \
134 sed
-e
's,;+,,' -e
's; DATA ;;' -e
's,;;,,' -e
's,;.*,;,' > $@
140 # -G: produce a shared object
141 # -z defs: no unresolved symbols allowed
146 DSO_LDOPTS
+= -shared
-h
$(notdir $@
)
149 ifeq ($(OS_TEST
),i86pc
)
150 DSO_LDOPTS
+=-xarch
=amd64
152 DSO_LDOPTS
+=-xarch
=v9
155 DSO_LDOPTS
+= -G
-h
$(notdir $@
)
157 DSO_LDOPTS
+= -z combreloc
-z defs
-z ignore
159 # -KPIC generates position independent code for use in shared libraries.
160 # (Similarly for -fPIC in case of gcc.)
167 NOSUCHFILE
= /solaris-rm-f-sucks