diff --git a/Makefile b/Makefile
index 96cb55c0686625b2af477b046ffd7115de171402..7b017f22f4479f6d97fdb24bc0e9b0311f23e5c1 100644
--- a/Makefile
+++ b/Makefile
@@ -262,7 +262,7 @@ ifeq ($(OSARCH),NetBSD)
 endif
 
 ifeq ($(OSARCH),OpenBSD)
-  ASTCFLAGS+=-pthread
+  ASTCFLAGS+=-pthread -ftrampolines
 endif
 
 ifeq ($(OSARCH),SunOS)
@@ -310,6 +310,10 @@ ifeq ($(OSARCH),SunOS)
   SOLINK=-shared -fpic -L/usr/local/ssl/lib -lrt
 endif
 
+ifeq ($(OSARCH),OpenBSD)
+  SOLINK=-shared -fpic
+endif
+
 # comment to print directories during submakes
 #PRINT_DIR=yes