diff --git a/src/makefiles/Makefile.bsdi b/src/makefiles/Makefile.bsdi
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f2c54d8a7916c86fd9030ca9b6d998aab17906c0 100644
--- a/src/makefiles/Makefile.bsdi
+++ b/src/makefiles/Makefile.bsdi
@@ -0,0 +1,5 @@
+# for bsdi 4.0 ELF
+# if we defined .so in template/bsdi_4.0
+%.so: %.o
+	$(CC) -shared -o $@ $<
+
diff --git a/src/template/.similar b/src/template/.similar
index dcf8197d9a188b5679ae22f2815c3e48de9367a3..6dce8bc792cdb311d2fcf0920ff2a93ad8f8531d 100644
--- a/src/template/.similar
+++ b/src/template/.similar
@@ -5,7 +5,8 @@ hppa1.1-stratus-sysv4=svr4
 i386-next-nextstep3=nextstep
 i386-pc-bsdi2.0=bsdi_2.0
 i386-pc-bsdi2.1=bsdi_2.1
-i386-pc-bsdi3.0=bsdi_3.0
+i386-pc-bsdi3.0=bsdi_2.1
+i386-pc-bsdi4.0=bsdi_4.0
 i386-pc-linux-gnu=linux_i386
 i386-pc-solaris2.6=solaris_i386_gcc
 i386-pc-sunos5=solaris_i386_gcc
diff --git a/src/template/bsdi_3.0 b/src/template/bsdi-4.0
similarity index 81%
rename from src/template/bsdi_3.0
rename to src/template/bsdi-4.0
index 2a6788e08755aed537d7a70d774ebb99632a14c0..54e6ab15a48a0e6667be3f86f24465c418394b0a 100644
--- a/src/template/bsdi_3.0
+++ b/src/template/bsdi-4.0
@@ -1,11 +1,11 @@
 AROPT:cq
 CFLAGS:-O2 -m486 -pipe
-SHARED_LIB:
+SHARED_LIB:-fpic
 ALL:
 SRCH_INC:/usr/local/include
 SRCH_LIB:/usr/local/lib
 USE_LOCALE:no
-DLSUFFIX:.o
+DLSUFFIX:.so
 YFLAGS:-d
 YACC:
 CC:gcc2