FreeBSD.mk (1294B)
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) -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