summaryrefslogtreecommitdiff
path: root/config/NetBSD.mk
diff options
context:
space:
mode:
Diffstat (limited to 'config/NetBSD.mk')
-rw-r--r--config/NetBSD.mk21
1 files changed, 10 insertions, 11 deletions
diff --git a/config/NetBSD.mk b/config/NetBSD.mk
index 1aeac473..cb2211ad 100644
--- a/config/NetBSD.mk
+++ b/config/NetBSD.mk
@@ -25,6 +25,10 @@ CC = gcc
CCC = g++
RANLIB = ranlib
+ifndef OBJECT_FMT
+OBJECT_FMT := $(shell if echo __ELF__ | $${CC:-cc} -E - | grep -q __ELF__ ; then echo a.out ; else echo ELF ; fi)
+endif
+
OS_REL_CFLAGS =
ifeq (86,$(findstring 86,$(OS_TEST)))
CPU_ARCH = x86
@@ -44,20 +48,15 @@ endif
ARCH = netbsd
+ifeq ($(OBJECT_FMT),ELF)
+DLL_SUFFIX = so
+else
DLL_SUFFIX = so.1.0
+endif
-DSO_CFLAGS = -fPIC
+DSO_CFLAGS = -fPIC -DPIC
DSO_LDFLAGS =
-DSO_LDOPTS = -Bshareable
-ifeq ($(OS_TEST),alpha)
-DSO_LDOPTS = -shared
-endif
-ifeq ($(OS_TEST),mips)
-DSO_LDOPTS = -shared
-endif
-ifeq ($(OS_TEST),pmax)
-DSO_LDOPTS = -shared
-endif
+DSO_LDOPTS = -x -shared
ifdef LIBRUNPATH
DSO_LDOPTS += -R$(LIBRUNPATH)