|
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 include $(CORE_DEPTH)/coreconf/UNIX.mk |
|
7 |
|
8 DEFAULT_COMPILER = gcc |
|
9 CC = gcc |
|
10 CCC = g++ |
|
11 RANLIB = ranlib |
|
12 |
|
13 CPU_ARCH = $(OS_TEST) |
|
14 ifeq ($(CPU_ARCH),i386) |
|
15 CPU_ARCH = x86 |
|
16 endif |
|
17 ifeq ($(CPU_ARCH),pc98) |
|
18 CPU_ARCH = x86 |
|
19 endif |
|
20 ifeq ($(CPU_ARCH),amd64) |
|
21 CPU_ARCH = x86_64 |
|
22 endif |
|
23 |
|
24 OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK |
|
25 |
|
26 DSO_CFLAGS = -fPIC |
|
27 DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@) |
|
28 |
|
29 # |
|
30 # The default implementation strategy for FreeBSD is pthreads. |
|
31 # |
|
32 ifndef CLASSIC_NSPR |
|
33 USE_PTHREADS = 1 |
|
34 DEFINES += -D_THREAD_SAFE -D_REENTRANT |
|
35 OS_LIBS += -pthread |
|
36 DSO_LDOPTS += -pthread |
|
37 endif |
|
38 |
|
39 ARCH = freebsd |
|
40 |
|
41 MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo elf) |
|
42 |
|
43 ifeq ($(MOZ_OBJFORMAT),elf) |
|
44 DLL_SUFFIX = so |
|
45 else |
|
46 DLL_SUFFIX = so.1.0 |
|
47 endif |
|
48 |
|
49 MKSHLIB = $(CC) $(DSO_LDOPTS) |
|
50 ifdef MAPFILE |
|
51 MKSHLIB += -Wl,--version-script,$(MAPFILE) |
|
52 endif |
|
53 PROCESS_MAP_FILE = grep -v ';-' $< | \ |
|
54 sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@ |
|
55 |
|
56 G++INCLUDES = -I/usr/include/g++ |
|
57 |
|
58 INCLUDES += -I/usr/X11R6/include |