--- a/Makefile
+++ b/Makefile
@@ -86,6 +86,13 @@ LDFLAGS += -lsocket
 PRODFLAGS += -fast
 endif
 
+ifeq (haiku,$(OS))
+OBJS= src/0.o src/bswap.o src/c.o src/getline.o src/mt.o src/p.o src/r.o \
+      src/k.o src/kc.o src/kx.o src/kg.o src/km.o src/kn.o src/ko.o src/ks.o \
+      src/v.o src/va.o src/vc.o src/vd.o src/vf.o src/vg.o src/vq.o
+LDFLAGS = -lm -lnetwork
+endif
+
 # k_test versions of OBJS
 OBJS_T= $(shell echo ${OBJS} | sed -e "s/\.o/.t.o/g")
 
@@ -167,6 +174,10 @@ ifeq (sunos,$(OS))
 src/*.o: src/incs.h src/ts.h Makefile src/k.h
 endif
 
+ifeq (haiku,$(OS))
+src/*.o: src/incs.h src/ts.h Makefile src/k.h
+endif
+
 src/0.c: src/0.h src/km.h src/v.h src/vf.h
 src/c.c: src/c.h
 src/getline.c: src/0.h src/getline.h
--- a/src/k.h
+++ b/src/k.h
@@ -1,3 +1,7 @@
+#if !defined(WIN32)
+#include <sys/select.h>
+#endif
+
 ;
 extern K KFIXED;
 K cd(K a);
