--- ./Makefile.orig
+++ ./Makefile
@@ -1,7 +1,34 @@
+MAJOR_VERSION = 0
+EXTRA_VERSION = .0.0
+SONAME = liblinenoise.so.$(MAJOR_VERSION)
+LIB = $(SONAME)$(EXTRA_VERSION)
+
+export CFLAGS ?= -Os -g
+CFLAGS += -Wall -fpic -DUSE_UTF8
+LIBDIR ?= /usr/lib
+INCLUDEDIR ?= /usr/include
+
+.PHONY: all
+all: $(LIB) linenoise_example
+
+$(LIB): linenoise.o
+	$(CC) $(CFLAGS) -shared -Wl,-soname,$(SONAME) $(LDFLAGS) -o $@ $^
+
 linenoise_example: linenoise.h linenoise.c
 
 linenoise_example: linenoise.c example.c
 	$(CC) -Wall -W -Os -g -o linenoise_example linenoise.c example.c
 
+.PHONY: clean
 clean:
-	rm -f linenoise_example
+	rm -f$(LIB)  linenoise_example *.o
+
+.PHONY: install
+install: $(LIB)
+	install -m 0755 -d $(DESTDIR)$(INCLUDEDIR)
+	install -m 0644 linenoise.h $(DESTDIR)$(INCLUDEDIR)
+	install -m 0755 -d $(DESTDIR)$(LIBDIR)
+	install -m 0755 $(LIB) $(DESTDIR)$(LIBDIR)
+	ldconfig -n $(DESTDIR)$(LIBDIR)
+	ln -s $(LIB) $(DESTDIR)$(LIBDIR)/$(SONAME)
+	ln -s $(SONAME) $(DESTDIR)$(LIBDIR)/liblinenoise.so